22

是否可以在 XML 文件中将 TimePicker 小时模式设置为 24 小时模式?还是仅在 Java 中可行?我想制作一个具有 24 小时选择器的布局,但我找不到这样的属性。

4

3 回答 3

44

不,您不能在 XML 中设置 24 小时模式,您必须使用

MyTimePicker.setIs24HourView(boolean);
于 2011-07-22T14:00:13.933 回答
14

可以通过子类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"/>
于 2013-02-12T12:55:05.680 回答
1

您可以从 java 文件中设置它。

xml

 <TimePicker
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:id="@+id/timePicker" />

爪哇

TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker);

timePicker.setIs24HourView(true); // to set 24 hours mode
timePicker.setIs24HourView(false); // to set 12 hours mode
于 2015-11-13T15:40:26.823 回答