Android Lエミュレーターでアプリをテストしていましたが、TimePickerDialogがこれに大幅に変更されていることに気付きました。
これは私のアプリのテーマに合わないため、Android L.で実行しているときに古いTimePickerDialogスタイルを取得できるかどうかを知りたい.
テーマを指定するには、 TimePickerDialog コンストラクターをtheme
パラメーターと共に使用できます。
TimePickerDialog(Context context,
int theme,
TimePickerDialog.OnTimeSetListener callBack,
int hourOfDay,
int minute,
boolean is24HourView)
Android:timePickerMode = "spinner"をXMLに追加します
<TimePicker
Android:id="@+id/timePicker1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:timePickerMode="spinner">
</TimePicker>
https://developer.Android.com/reference/Android/R.attr.html#timePickerMode
spinnerまたはclockモードから選択できます。この属性は、spinnerモードが使用可能な唯一のオプションである前に、APIレベル21からのみ使用可能です。
AM/PMをボタンではなくピッカーにしたい場合は、ContextThemeWrapper
で単一パラメーターコンストラクターを使用することをお勧めします。
new TimePicker(new ContextThemeWrapper(getActivity(), Android.R.style.Theme_Holo_Light_Dialog_NoActionBar));
テーマを複数パラメーターコンストラクターに渡すと、やや/いAM/PMボタンが表示され、時間と分の列の間にコロンがなくなります。
new TimePicker(getActivity(), null, TimePickerDialog.THEME_HOLO_LIGHT);
LordRaydenMKが言ったように、TimePickerDialog
コンストラクターでtheme
パラメーターを使用し、このテーマを提供します:Android.R.style.CustomDatePickerDialog
そしてあなたのStyles.xml
これを定義します:
<style name="CustomDatePickerDialog"
parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="Android:dialogTheme">@style/MyDialogTheme</item>
<item name="Android:timePickerStyle">@style/MyDatePicker</item>
</style>
<style name="MyDialogTheme"
parent="Theme.AppCompat.Light.Dialog">
<item name="Android:timePickerStyle">@style/MyDatePicker</item>
</style>
<style name="MyDatePicker"
parent="@Android:style/Widget.Material.Light.TimePicker">
<item name="Android:timePickerMode">spinner</item>
</style>