Android:DigitalClock删除秒

Android:DigitalClock删除秒,第1张

Android:DigitalClock删除秒

在这里找到答案,其他正在寻找有效答案的人是:

  1. DigitalClock.java
    从Android源克隆/复制
  2. 更改新的格式字符串
    CustomDigitalClock
        package com.example;    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;    import android.widget.TextView;    import java.util.Calendar;        public class CustomDigitalClock extends TextView {        Calendar mCalendar;        private final static String m12 = "h:mm aa";        private final static String m24 = "k:mm";        private FormatChangeObserver mFormatChangeObserver;        private Runnable mTicker;        private Handler mHandler;        private boolean mTickerStopped = false;        String mFormat;        public CustomDigitalClock(Context context) { super(context); initClock(context);        }        public CustomDigitalClock(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();  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;        }                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(); }        }    }
  1. 在布局xml中引用自定义类

    <com.example.CustomDigitalClockandroid:id="@+id/fragment_clock_digital"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="DigitalClock" />
  2. 在活动/片段中加载CustomDigitalClock

        CustomDigitalClock dc = (CustomDigitalClock)    mFragmentView.findViewById(R.id.fragment_clock_digital);


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5438873.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-11
下一篇2022-12-11

发表评论

登录后才能评论

评论列表(0条)

    保存