我有一個數字時鐘在我的應用程序的活動,我想只顯示小時和分鐘,並不想顯示秒。如何使數字時鐘只顯示小時和分鐘
1
A
回答
2
請看一看這個答案在這裏,而據我可以看到你正在尋找一個類似/同樣的事情:
Android: DigitalClock remove seconds
答案的主要內容如下:
像AnalogClock,但數字。顯示秒。 FIXME:實現 小時/分鐘/秒的單獨視圖,所以比例字體不會抖動渲染。
通過FIXME判斷,最終可以隱藏DigitalClock的部分功能。我沒有找到任何目前在Javadoc或源代碼中的任何 ,它們會執行你想要的任務 。 除非你想編寫自己的類來擴展DigitalClock(或者你自己的時鐘實現),否則你可能只需要覆蓋DigitalClock的秒部分和另一個 元素,如果它符合你的目的。
1
系統根據系統時鐘在每分鐘的確切開始處發送廣播事件。最可靠的辦法是做這樣的:
BroadcastReceiver _broadcastReceiver;
private final SimpleDateFormat _sdfWatchTime = new SimpleDateFormat("HH:mm");
private TextView _tvTime;
@Override
public void onStart() {
super.onStart();
_broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context ctx, Intent intent) {
if (intent.getAction().compareTo(Intent.ACTION_TIME_TICK) == 0)
_tvTime.setText(_sdfWatchTime.format(new Date()));
}
};
registerReceiver(_broadcastReceiver, new IntentFilter(Intent.ACTION_TIME_TICK));
}
@Override
public void onStop() {
super.onStop();
if (_broadcastReceiver != null)
unregisterReceiver(_broadcastReceiver);
}
但是不要忘了事先初始化你的TextView(爲當前系統時間),因爲很可能你會彈出一分鐘的中間你的用戶界面和TextView將不會更新,直到下一分鐘發生。
1
import android.content.Context;
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 DigitalClock extends TextView {
Calendar mCalendar;
private final static String m24 = "k:mm";
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) {
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;
}
private void setFormat() {
mFormat = m24;
}
private class FormatChangeObserver extends ContentObserver {
public FormatChangeObserver() {
super(new Handler());
}
@Override
public void onChange(boolean selfChange) {
setFormat();
}
}
}
您可以使用此自定義視圖。這也適用於薑餅。 (m24)
相關問題
- 1. 只顯示小時和分鐘?
- 2. Jquery Countup只顯示小時和分鐘
- 3. 如何從javascript date.toLocaleTimeString()只顯示小時和分鐘?
- 4. 我如何只顯示小時和分鐘?
- 5. JavaScript時鐘,只倒計時小時,分鐘和秒..不是天
- 6. 只顯示分鐘和秒鐘0
- 7. 小時和分鐘
- 8. 如何將分鐘轉換爲PHP和負數分鐘的小時和分鐘?
- 9. 如果時間大於60分鐘,只顯示小時
- 10. 添加分鐘和秒鐘。以小時顯示
- 11. 如何從NSDate倒計時並以小時和分鐘顯示
- 12. 如何使用JSpinner分別更改小時,分鐘和秒鐘?
- 13. 數字時鐘顯示不
- 14. 只有小時和分鐘的序列
- 15. 如何只顯示小時和分鐘從PHP數據庫像PHP(00:00)?
- 16. 分鐘超過60分鐘的小時數和分鐘數總和
- 17. 如何在tsql中將分鐘分爲天,小時和分鐘
- 18. Django顯示charfield字段,表示分鐘爲hh小時,mm分鐘
- 19. 時間conversioin小時和分鐘整數
- 20. 如何在php中檢查DB小時數和分鐘數小於當前小時數和分鐘數?
- 21. 如何使用PHP將數字轉換爲小時和分鐘?
- 22. 顯示警告和時鐘鬧鐘
- 23. 如何在DateTimePicker上顯示小時和分鐘
- 24. SmartGWT DateTimeItem,如何顯示小時和分鐘PickerItem?
- 25. 小時和分鐘到秒
- 26. 比較小時和分鐘
- 27. preg_match分鐘和小時
- 28. 總計小時和分鐘?
- 29. 小時和分鐘用JavaScript
- 30. DateDiff()小時和分鐘?
代碼plz ....... –
可能出現[Android:DigitalClock remove seconds]重複(http://stackoverflow.com/questions/7610549/android-digitalclock) -remove - 秒) – Veger