效果圖:
具體時間差**請參考:
android中可能會出現當前時間不匹配的問題,只需要設定時區即可解決
******dateformat df = new ******dateformat
("yyyy-mm-dd hh:mm:ss");
df.settimezone
(timezone.
gettimezone
("gmt+08:00"))
;
獲取當前時間與某一時間的時間差
/**
* 獲取輸入時間與現在時間差
* @param log_time 日誌時間 格式為2020-6-1 10:00:00
* @return
*/public static string gettime
(string log_time)
if(day <0)
long days = diff /
(1000*60
*60*24
);hours =
(diff-days*
(1000*60
*60*24
))/(
1000*60
*60);
//獲取時
minutes =
(diff-days*
(1000*60
*60*24
)-hours*
(1000*60
*60))
/(1000*60
);//獲取分鐘
s=(diff/
1000
-days*24*
60*60-hours*60*
60-minutes*60)
;//獲取秒
counttime=
""+year+
"年"+month+
"月"+day+
"天"+hours+
"小時"
+minutes+
"分"+s+
"秒";
} catch (parseexception e)
return year !=0?
""+year+
"|"+0:
month !=0?
""+month+
"|"+1:
day !=0?
""+day+
"|"+2:
hours !=0?
""+hours+
"|"+3:
minutes !=0?
""+minutes+
"|"+4:
""+s+
"|"+5;
} public static calendar datatocalendar
(date date)
此處新增在textview需要的地方,用於變換顏色和內容
string time_group =
gettime
("2020-10-1 10:30:27");
int[
] time_array =
handle_time
(time_group)
;gradientdrawable gd =
(gradientdrawable) holder.tv_log_tag.
getbackground()
; gd.
setcolor
(view.
getresources()
.getcolor
(getcolor
(time_array[1]
)));
textview.
settext
(parse_time
(time_array)
);
/*--------------------------------以下用於設定日誌小標籤2min前--------------------------------*/
private int
handle_time
(string input_time)
return result;
} private string parse_time
(int
input_array);if
(input_array[1]
==5)return
"剛剛"
;else
return
""+input_array[0]
+time_list[input_array[1]
]+"前";
} private int
getcolor
(int time_index);if
(time_index>=
0&& time_index<=5)
return color[time_index]
;return color[0]
;}
最後,layout中的textview的背景用drawable目錄下的xml表示
"">
<
!-- 設定圓角--
>
"8dp"
/>
"@color/blue"
/>
<
/shape>
注意textview用的背景xml不要讓其他控制項使用,因為會影響其他控制項背景的正常顯示。
具體時間差**請參考:
android textview換行問題
應用中 textview包含年月日的時候 在一行內不能顯示完整時 文字內容會自動換行。這裡使用網上大家使用的方法,比如半形轉全形 過濾特殊字元等等都無效。最終的解決辦法是在年月日這裡加空格。eg 2013年11月28日20時22分 最終替換為 2013 年 11 月 28 日 20時22分 個人理解...
android textview功能列表
1 顯示富文字 url 文字大小 顏色 字型 autolink all phone web email map none string str i love china charsequeence cq html.fromhtml str textview.settext cq textview.s...
Android TextView屬性XML詳解
android ems 設定textview的寬度為n個字元的寬度。android maxems 設定textview的寬度為最長為n個字元的寬度。與ems同時使用時覆蓋ems選項。android minems 設定textview的寬度為最短為n個字元的寬度。與ems同時使用時覆蓋ems選項。an...