日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

[Android1.5]DigitalClock自定义日期输出格式

發(fā)布時間:2025/4/5 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Android1.5]DigitalClock自定义日期输出格式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


前言

  關鍵字: DigitalClock date format

  Android的DigitalClock并沒有設置輸出格式的屬性或方法,但是可以通過繼承重寫來實現(xiàn),見正文部分代碼。

?

正文

  一、需求

    修改時間輸出格式為僅顯示小時和分鐘。

?

  二、效果圖

    

?

  三、說明

    通過看源碼可知,只需修改以下兩行代碼其他全部復制過來即可:

????private?final?static?String?m12?=?"h:mm:ss?aa";
????
private?final?static?String?m24?=?"k:mm:ss";

    如果想做得更好更通用的話可以把設置日期格式的方法暴露出來,或者為其增加一個xml屬性。

?

  四、完整代碼

package?com.test;

import?java.util.Calendar;

import?android.content.Context;
import?android.content.res.Resources;
import?android.database.ContentObserver;
import?android.os.Handler;
import?android.os.SystemClock;
import?android.provider.Settings;
import?android.text.format.DateFormat;
import?android.util.AttributeSet;

/**
?*?自定義DigitalClock輸出格式
?*?
@author?農(nóng)民伯伯
?*
?
*/
public?class?DigitalClock?extends?android.widget.DigitalClock?{

????Calendar?mCalendar;
????
private?final?static?String?m12?=?"h:mm?aa";//h:mm:ss?aa
????private?final?static?String?m24?=?"k:mm";//k:mm:ss
????private?FormatChangeObserver?mFormatChangeObserver;

????
private?Runnable?mTicker;
????
private?Handler?mHandler;

????
private?boolean?mTickerStopped?=?false;

????String?mFormat;

????
public?DigitalClock(Context?context)?{
????????
super(context);
????????initClock(context);
????}

????
public?DigitalClock(Context?context,?AttributeSet?attrs)?{
????????
super(context,?attrs);
????????initClock(context);
????}

????
private?void?initClock(Context?context)?{
????????Resources?r?
=?context.getResources();

????????
if?(mCalendar?==?null)?{
????????????mCalendar?
=?Calendar.getInstance();
????????}

????????mFormatChangeObserver?
=?new?FormatChangeObserver();
????????getContext().getContentResolver().registerContentObserver(
????????????????Settings.System.CONTENT_URI,?
true,?mFormatChangeObserver);

????????setFormat();
????}

????@Override
????
protected?void?onAttachedToWindow()?{
????????mTickerStopped?
=?false;
????????
super.onAttachedToWindow();
????????mHandler?
=?new?Handler();

????????
/**
?????????*?requests?a?tick?on?the?next?hard-second?boundary
?????????
*/
????????mTicker?
=?new?Runnable()?{
????????????????
public?void?run()?{
????????????????????
if?(mTickerStopped)?return;
????????????????????mCalendar.setTimeInMillis(System.currentTimeMillis());
????????????????????setText(DateFormat.format(mFormat,?mCalendar));
????????????????????invalidate();
????????????????????
long?now?=?SystemClock.uptimeMillis();
????????????????????
long?next?=?now?+?(1000?-?now?%?1000);
????????????????????mHandler.postAtTime(mTicker,?next);
????????????????}
????????????};
????????mTicker.run();
????}

????@Override
????
protected?void?onDetachedFromWindow()?{
????????
super.onDetachedFromWindow();
????????mTickerStopped?
=?true;
????}

????
/**
?????*?Pulls?12/24?mode?from?system?settings
?????
*/
????
private?boolean?get24HourMode()?{
????????
return?android.text.format.DateFormat.is24HourFormat(getContext());
????}

????
private?void?setFormat()?{
????????
if?(get24HourMode())?{
????????????mFormat?
=?m24;
????????}?
else?{
????????????mFormat?
=?m12;
????????}
????}

????
private?class?FormatChangeObserver?extends?ContentObserver?{
????????
public?FormatChangeObserver()?{
????????????
super(new?Handler());
????????}

????????@Override
????????
public?void?onChange(boolean?selfChange)?{
????????????setFormat();
????????}
????}
}


  五、使用方法

<com.test.DigitalClock?android:layout_x="15dp"?android:layout_y="30dp"?
????????????android:layout_width
="wrap_content"?android:layout_height="wrap_content"
????????????android:textColor
="@android:color/white"?android:textSize="55sp"
?????????????android:shadowColor
="@android:color/white"?android:shadowRadius="2.0"
????????????
>
????????
</com.test.DigitalClock>

    代碼說明:

      關于android:shadowColor可以參見我的中文API文檔翻譯。

?

結束

   問題解決。

總結

以上是生活随笔為你收集整理的[Android1.5]DigitalClock自定义日期输出格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲成av人片在线观看无 | 看免费黄色大片 | 欧美理论视频 | 国产偷自拍 | 国产一区二区在线视频观看 | 亚洲第一黄| 国产在线一区二区三区四区 | 日本黄色小片 | 鬼灭之刃柱训练篇在线观看 | 天天视频色| 一级福利视频 | 他趴在我两腿中间添得好爽在线看 | 午夜免费激情视频 | 日韩精品伦理 | 青青青在线免费 | 国产绿帽一区二区三区 | 日本人jizz| 欧美私人影院 | 99免费观看 | 在线看片资源 | 蜜桃久久一区二区三区 | 亚洲欧美日韩一区二区 | 国产成人在线一区二区 | 日韩欧美不卡 | 古装做爰无遮挡三级 | 日韩电影在线观看中文字幕 | 在线视频区 | 色婷婷av一区二区三区麻豆综合 | 精品麻豆一区二区 | 九九免费在线视频 | 女生张开腿让男生插 | 国产精品视频一区二区三 | 天堂中文8| 天堂综合 | 精品国产乱码久久久久久牛牛 | 欧美黄视频 | 成人国产| 亚洲日b视频| 国产三级av在线播放 | www.在线观看视频 | 探花视频在线版播放免费观看 | 成人久久久精品乱码一区二区三区 | 欧美性bbw| 午夜香蕉 | 性生交大片免费看狂欲 | 人妻无码一区二区三区久久 | 亚洲一区二区国产精品 | 免费性视频 | 国产精品观看 | 视色av | 久久免费激情视频 | 国产精品久久久久久免费观看 | 日韩黄色三级 | 黄色天堂av | 欧美在线另类 | 操碰视频在线 | 成人午夜免费观看 | 精品色图 | 亚洲精品国产欧美 | a天堂在线 | 99re在线视频 | 国产爆乳无码一区二区麻豆 | 欧美日本久久 | 亚洲精品久久久久久久久久 | 国产做a| 精品无码一区二区三区蜜臀 | 欧洲综合视频 | 韩国三色电费2024免费吗怎么看 | 激情丁香六月 | 国产成人av电影 | 亚洲人天堂 | 国产成人免费在线观看 | 亚洲成熟少妇 | 欧美日韩久久久久久 | 潘金莲一级淫片免费放动漫 | 91精品国产电影 | 国产精品午夜视频 | 色婷网| 国产精品作爱 | 国内9l自拍 | 四季av一区二区 | 奶水旺盛的少妇在线播放 | 91传媒在线播放 | 精品欧美一区二区在线观看 | 秋霞午夜网 | 国内毛片毛片毛片 | 新婚之夜玷污岳丰满少妇在线观看 | 成人网在线视频 | 国产成人精品久久 | 国精品一区二区三区 | 特黄aaaaaa私密按摩 | 亚洲av成人无码久久精品老人 | 波多野结衣高清电影 | 国产丝袜美女 | 日日干天天爽 | 日韩美女视频一区二区 | 中文字幕伊人 | av动漫天堂 | 深爱五月激情五月 |