2011-07-22 40 views
19

Có thể đặt chế độ giờ TimePicker thành chế độ 24 giờ trong tệp XML không? Hay là nó chỉ khả thi trong Java? Tôi muốn tạo bố cục có bộ chọn 24 giờ nhưng tôi không thể tìm thấy thuộc tính như vậy.Cài đặt TimePicker Android Trong XML

Trả lời

42

Không, bạn không thể đặt chế độ 24 giờ trong XML, bạn phải sử dụng

MyTimePicker.setIs24HourView(boolean); 
10

Có thể bởi subclassing TimePicker để có được một phiên bản 24hour, và sử dụng rằng lớp phụ trong XML nộp với tên gói thích hợp:

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); 
    } 

} 

trong cách bố trí bạn có thể thêm

<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

Bạn có thể đặt nó từ tệp 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 
Các vấn đề liên quan