在XML中设置Android TimePicker

是否可以将TimePicker小时模式设置为XML文件中的24小时模式? 或者仅在Java中才有可能? 我想做一个有24小时select器的布局,但是我找不到这样的属性。

Solutions Collecting From Web of "在XML中设置Android TimePicker"

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

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