我在代码中创建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 :(得分:1)
您可以通过为其添加样式来更改TimePicker的样式。您可以通过两种方式执行此操作,方法是指定重音颜色或更改Timepicker中每个元素的颜色。
通过指定重音颜色进行更改:
<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>