Android Textview實現時間差小標籤

2021-10-24 19:19:41 字數 2844 閱讀 3164

效果圖:

具體時間差**請參考:

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...