我正在创建一个由EditTexts组成的表单,它启动DatePickerDialogs和TimePickerDialogs。
以下是代码的部分:
DatePickerDialog
DatePickerDialog datePicker = new DatePickerDialog(context, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(android.widget.DatePicker view, int chosenYear, int chosenMonth, int chosenDate) {
year = chosenYear;
month = chosenMonth;
date = chosenDate;
set(year, month, date);
}
}, year, month, date);
datePicker.setTitle("Select Date");
datePicker.show();
TimePickerDialog
TimePickerDialog timePicker = new TimePickerDialog(context, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(android.widget.TimePicker view, int chosenHour, int chosenMinute) {
hour = chosenHour;
minute = chosenMinute;
set(hour, minute);
}
}, hour, minute, false);
timePicker.setTitle("Select Time");
timePicker.show();
一切正常,例如启动对话框并正确设置日期。这是一个问题。预览不会呈现。我不知道为什么。希望有人能提供帮助。感谢。
以下是截图: 注意白色背景。
答案 0 :(得分:0)
添加两个新样式:
<style name="DatePicker" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@color/your_color</item>
</style>
<style name="TimePicker" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@color/your_color</item>
</style>
然后在自定义主题中引用这些样式,如下所示:
<item name="android:datePickerDialogTheme" tools:targetApi="21">@style/DatePicker</item>
<item name="android:timePickerDialogTheme" tools:targetApi="21">@style/TimePicker</item>