如何设计Android的TimePickerDialog?

如何设计Android的TimePickerDialog?,android,Android,我正在用代码创建一个TimePickerDialog,我想在上面有自定义颜色。它的出来都是灰色和丑陋的默认,我希望它有特定的颜色 我创建TimePickerDialog如下: TimePickerDialog time = new TimePickerDialog( context, R.style.timePickerDialog, new TimePickerDialog.OnTimeSetListener() { @Override public

我正在用代码创建一个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)
);
但它的颜色是错误的,我在我的应用程序中没有用到。我是否需要为此对话框指定样式?为什么它会变成灰色和深红色


我不明白为什么没有这方面的教程。在安卓系统上还有其他超秘密的时间选择方法吗?

您可以通过添加时间选择器的样式来更改其样式。您可以通过两种方式来完成,一种是指定重音颜色,另一种是更改计时器选择器中每个元素的颜色

要通过指定强调色进行更改,请执行以下操作:

 <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>
然后使用以下命令创建样式:

 <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>
作为参数传递给构造函数的上下文是什么?