Я построил циферблат, который показывает время двумя разными способами. Циферблат имеет 12-часовой формат для текущего часового пояса и 24-часовой формат для GMT. По умолчанию циферблат отображает только текущий часовой пояс, что означает, что моя часовая стрелка для GMT действительно показывает только время в текущем часовом поясе в 24-часовом формате. Как сделать так, чтобы часы отображали несколько часовых поясов одновременно?
Как отобразить несколько часовых поясов на циферблате Android Wear
Ответы (2)
Вы можете создать 2 объекта календаря с разными часовыми поясами, а затем использовать эти объекты:
Calendar germanyTime = new GregorianCalendar(TimeZone.getDefault());//your timezone
Calendar germanyTime = new GregorianCalendar(TimeZone.getTimeZone("GMT+0"));
person
x90
schedule
06.04.2015
спасибо, что указали мне в правильном направлении. Где в моем коде это должно применяться?
- person skeete; 07.04.2015
этот код демонстрирует основную идею, что вы можете хранить 2 независимых объекта календаря и получать время из разных часовых поясов
- person x90; 08.04.2015
Я понимаю, но я не мастер-программист, поэтому для меня это чуждо. ржунимагу
- person skeete; 08.04.2015
Приведу пример того, как мне удалось автоматически получить системный формат времени:
// variables
boolean is24Hour = false;
DateFormat df;
Calendar cal;
// get time format
is24Hour = df.is24HourFormat(context);
...
@Override
public void onDraw(Canvas canvas, Rect bounds) {
// always get a new instance in your onDraw()
cal = Calendar.getInstance();
// get the hours
if (is24Hour) {
format = new SimpleDateFormat("H");
return Integer.valueOf(format.format(cal.getTime()));
} else {
format = new SimpleDateFormat("h");
return (Integer.valueOf(format.format(cal.getTime()));
}
}
person
Florianisme
schedule
08.04.2015