2017-07-30 60 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中每個元素的顏色。

要通過指定強調色改變:使用

設置樣式:

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

然後,使用創建的樣式:

<item name="colorAccent">yourColor</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> 
相關問題