У меня есть цифровые часы для активности в моем приложении, и я хочу отображать на нем только часы и минуты и не хочу отображать секунды.Как сделать цифровые часы только часы и минуты
ответ
Пожалуйста, обратите внимание на этот ответ здесь, и, насколько я могу видеть, что Вы ищете аналогичный/одно и то же:
Android: DigitalClock remove seconds
Основное содержание ответа следующим образом:
Как AnalogClock, но цифровой. Показывает секунды. FIXME: реализовать отдельные виды в часах/минутах/секундах, поэтому пропорциональные шрифты не shake rendering.
Судя по FIXME, способность скрывать части DigitalClock может быть реализована в конечном итоге. Я ничего не нашел в настоящее время в Javadoc или исходный код, который сделает то, что вы хотите, . Если вы не хотите писать свой собственный класс, который расширяет DigitalClock (или вашу собственную реализацию синхронизации вообще), вы можете просто накрыть секундную часть DigitalClock другим элементом , если это будет служить вашей цели.
Система отправляет широковещательное событие в точном начале каждой минуты на основе системных часов. Самый надежный способ сделать это следующим образом:
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 не будет обновляться до следующей минуты.
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. Jelly Bean Цифровые часы
- 2. Цифровые часы, как это делается?
- 3. JodaTime - часы и минуты
- 4. Как получить только часы и минуты
- 5. DateDiff() Часы и минуты?
- 6. preg_match минуты и часы
- 7. Как получить часы: минуты
- 8. Как сделать пользовательские цифровые часы в android
- 9. Как сравнить часы и минуты?
- 10. Цифровые часы не отображаются
- 11. Цифровые часы C++
- 12. TextView Marquee и цифровые часы
- 13. цифровые часы в android
- 14. Цифровые стоп-часы
- 15. Показывать время как цифровые часы
- 16. Цифровые часы в окне консоли
- 17. Секунд - Минуты - Часы - миллисекунды
- 18. Секунды, часы, минуты и секунды?
- 19. C++ конвертирует десятичные часы в часы, минуты и секунды
- 20. HighCharts Часы/минуты
- 21. SQL времени Показать часы: минуты только
- 22. Как добавить минуты и часы в java?
- 23. Как преобразовать число в часы и минуты?
- 24. Как добавить часы и минуты между ними
- 25. Как добавить часы, минуты и секунды?
- 26. Не удалось обновить цифровые часы
- 27. Как сравнить часы и минуты только с данными даты DateTime
- 28. Как создать часы и минуты, используя запросAnimationFrame()?
- 29. Как суммировать часы и минуты SSRS 2012?
- 30. Как показать часы и минуты на DateTimePicker
Код plz ....... –
Возможный дубликат [Android: DigitalClock удалить секунды] (http://stackoverflow.com/questions/7610549/android-digitalclock -remove-секунд) – Veger