Android DatePickerDialog和TimePickerDialog无法呈现预览

时间:2015-06-19 01:44:56

标签: android

我正在创建一个由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();

一切正常,例如启动对话框并正确设置日期。这是一个问题。预览不会呈现。我不知道为什么。希望有人能提供帮助。感谢。

以下是截图: 注意白色背景。

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

在styles.xml中

添加两个新样式:

<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>