2011-07-22 31 views
19

XMLファイルでTimePicker時間モードを24時間モードに設定することはできますか?それとも、Javaだけで可能ですか?私は24時間のピッカーを持つレイアウトを作ってみたいが、そのような属性は見つけられない。XMLでAndroid TimePickerを設定する

答えて

42

、あなたがXMLで24時間モードを設定することはできませんいいえ、あなたは24時間のバージョンを取得するTimePickerをサブクラス化し、XMLでそのサブクラスを使用して、それが可能である

MyTimePicker.setIs24HourView(boolean); 
10

を使用する必要があります適切なパッケージ名のファイル:

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

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 
関連する問題