带有Theme.AppCompat的Android 5.0 DatePicker

时间:2014-12-30 13:59:19

标签: android datepicker android-appcompat material-design

我正在尝试使用Material.AppCompat为以前版本的Android做Material Design。 我想在之前的版本中显示lollipop DatePicker,但现在Android 4设备中的App DatePicker看起来像this

代码:

对话框呼叫:

DatePickerDialog dialog = new DatePickerDialog(getActivity(),
                            new mDateSetListener(), mYear, mMonth, mDay);
                    dialog.show();

DatePicker类:​​

 @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }

    class mDateSetListener implements DatePickerDialog.OnDateSetListener {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                              int dayOfMonth) {
            int mYear = year;
            int mMonth = monthOfYear;
            int mDay = dayOfMonth;
            /*System.out.println(mYear);
            System.out.println(mMonth);
            System.out.println(mDay);*/


        }
    }

可以像我想要的那样在以前的版本中显示Material Design DatePicker吗?

THX。

2 个答案:

答案 0 :(得分:4)

在棒棒糖前设备上显示Material Design DatePicker对话框的唯一方法是创建自己的对话框或使用this one等库。

答案 1 :(得分:1)

我知道这个问题已经过时了,但是接受的答案的lib使用了一种我不喜欢的旧材料设计,所以我重新移植了DatePickerDialog和{{0}}的官方框架版本(Oreo,8.0)。 {1}}使用appcompat库处理API 14+。

lib源可用here,您可以使用gradle从jCenter将其包含在您的应用中:

TimePickerDialog