我正在写一个应用程序。用户必须能够选择日期和时间。我用 DatePicker 解决了这个问题。但是,它不适用于 TimePicker。
这是调用代码:
private void showTimePickerDialog(final boolean isStartDate) {
TimePickerDialog timePickerDialog = new TimePickerDialog(this, R.style.CustomTimePickerDialog, (view, hourOfDay, minute) -> {
dateAndTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
dateAndTime.set(Calendar.MINUTE, minute);
if (isStartDate) {
startDateTimeView.setText(String.format("%tF %tT", dateAndTime, dateAndTime));
showDatePickerDialog(false);
} else {
stopDateTimeView.setText(String.format("%tF %tT", dateAndTime, dateAndTime));
}
}, dateAndTime.get(Calendar.HOUR_OF_DAY), dateAndTime.get(Calendar.MINUTE), true);
timePickerDialog.show();
}
以下是样式:
<style name="CustomTimePickerDialog" parent="@style/ThemeOverlay.AppCompat.Dialog.Alert">
<item name="showTitle">false</item>
<item name="colorControlActivated">#ffd600</item>
<item name="colorAccent">#b71c1c</item>
<item name="android:textColorPrimary">#43a047</item>
<item name="android:textColorSecondary">#f44336</item>
<item name="android:numbersTextColor">#D71000</item>
<item name="android:numbersBackgroundColor">#0036D7</item>
<item name="backgroundColor">@color/background</item>
<item name="statusBarBackground">@color/background</item>
</style>
这是当前的视图:
有些样式有效。例如textColorPrimary、colorControlActivated 和textColorSecondary。但背景没有改变,数字的颜色没有改变,标题也没有改变。
告诉我,我该如何改变它?
更新:
伊拉姆的回答有帮助。然而,一个新的问题出现了。底部有一个附加按钮,用于从手机键盘输入文本。如何删除此按钮或设置新窗口的样式。
现在这些样式:
<style name="CustomTimePickerDialog" parent="@style/ThemeOverlay.AppCompat.Dialog.Alert">
<item name="showTitle">true</item>
<item name="colorControlActivated">#ffd600</item>
<item name="colorAccent">@color/main_color</item>
<item name="android:textColorPrimary">@color/secondary</item>
<item name="android:textColorSecondary">@color/main_color</item>
<item name="android:numbersTextColor">@color/main_color</item>
<item name="android:numbersBackgroundColor">@color/secondary</item>
<item name="backgroundColor">@color/background</item>
<item name="statusBarBackground">@color/background</item>
<item name="android:numbersInnerTextColor">@color/main_color</item>
<item name="android:timePickerMode">clock</item>
<item name="android:numbersSelectorColor">@color/white</item>
</style>
第二个窗口的截图