Configuración de Android TimePicker en XML
layout (3)
Es posible subclasificar TimePicker
para obtener una versión de 24 horas y usar esa subclase en el archivo XML con el nombre del paquete apropiado:
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);
}
}
en el diseño puede agregar
<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"/>
¿Es posible configurar el modo de horario de TimePicker en modo de 24 horas en un archivo XML? ¿O es posible solo en Java? Quiero hacer un diseño que tenga selector de 24 horas pero no puedo encontrar dicho atributo.
No, no puede establecer el modo de 24 horas en el XML, tiene que usar
MyTimePicker.setIs24HourView(boolean);
Puedes configurarlo desde el archivo 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