2017-07-30 10 views
0

コードにTimePickerDialogを作成しています。カスタム色を付けたいと思います。それはデフォルトで灰色で醜いものが出てきていて、特定の色をつけたいと思っています。AndroidのTimePickerDialogをスタイルする方法は?

次のように私はTimePickerDialogを作成:

TimePickerDialog time = new TimePickerDialog(
    context, 
    R.style.timePickerDialog, 
    new TimePickerDialog.OnTimeSetListener() { 
    @Override 
    public void onTimeSet(TimePicker timePicker, int i, int i1) {} 
    }, 10, 0, DateFormat.is24HourFormat(this) 
); 

しかし、それは、私は私のアプリではどこにも使用していない、間違った色で出て来るのを。このダイアログのスタイルを指定する必要がありますか?なぜそれは灰色と暗い赤から出てくるのですか?

これについてのチュートリアルがどのようにないのかわかりません。 Androidで時間を取るための他の極秘方法がありますか?

+0

コンストラクタにパラメータとして渡す 'context'ですか? – azizbekian

答えて

1

TimePickerのスタイルを変更するには、スタイルを追加します。アクセントの色を指定する方法と、Timepickerの各要素の色を変更する方法の2通りの方法があります。

<item name="colorAccent">yourColor</item> 

の各要素の色を指定することで変更するには::

使用してスタイルを設定

<item name="android:timePickerStyle">@style/MyTimePicker</item> 

を次に使用してスタイルを作成します。

アクセントカラーを指定することで変更するには

<style name="MyTimePicker" parent="android:Widget.Material.Light.TimePicker"> 
<item name="android:timePickerMode">clock</item> 
<item name="android:headerBackground">yourcolor</item> 
<item name="android:numbersTextColor">your_color</item> 
<item name="android:numbersInnerTextColor">your_color</item> 
<item name="android:numbersSelectorColor">your_color</item> 
<item name="android:numbersBackgroundColor">your_color</item> 
<item name="android:amPmTextColor">?android:attr/textColorSecondary</item> 
</style> 
関連する問題