Настройка Android TimePicker в XML - PullRequest
19 голосов
/ 22 июля 2011

Можно ли установить часовой режим TimePicker на 24-часовой режим в XML-файле? Или это возможно только на Java? Я хочу создать макет с 24-часовым выбором, но я не могу найти такой атрибут.

Ответы [ 3 ]

43 голосов
/ 22 июля 2011

Нет, вы не можете установить 24-часовой режим в XML, вы должны использовать

MyTimePicker.setIs24HourView(boolean);
10 голосов
/ 12 февраля 2013

Можно получить подкласс 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"/>
1 голос
/ 13 ноября 2015

Вы можете установить его из файла 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
...