Настройка Android TimePicker в XML
можно ли установить режим часов TimePicker в 24-часовой режим в XML-файле? Или это возможно только на Java? Я хочу сделать макет, который имеет 24-часовой выбор, но я не могу найти такой атрибут.
3 ответов
нет, вы не можете установить 24-часовой режим в XML, вы должны использовать
MyTimePicker.setIs24HourView(boolean);
это возможно путем подклассов TimePicker
чтобы получить 24-часовую версию и использовать этот подкласс в XML-файле с соответствующим именем пакета:
public class TimePicker24Hours extends TimePicker {
public TimePicker24Hours(Context context) {
super(context);
init();
}
public TimePicker24Hours(Context context,
AttributeSet attrs) {
super(context, attrs);
init();
}
public TimePicker24Hours(Context context,
AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init() {
setIs24HourView(true);
}
}
в макете вы можете добавить
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:dt_codecomponents="http://schemas.android.com/apk/res/my.app.package"
...
<my.app.package.style.TimePicker24Hours
android:id="@+id/timePicker1"
android:layout_width="wrap_content"/>
Вы можете установить его из файла Java.
xml
<TimePicker
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/timePicker" />
java
TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker);
timePicker.setIs24HourView(true); // to set 24 hours mode
timePicker.setIs24HourView(false); // to set 12 hours mode