【问题标题】:Android 5.0 DatePicker with Theme.AppCompat带有 Theme.AppCompat 的 Android 5.0 DatePicker
【发布时间】:2014-12-30 13:59:19
【问题描述】:

我正在尝试使用 Theme.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 吗?

谢谢。

【问题讨论】:

    标签: android datepicker android-appcompat material-design


    【解决方案1】:

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

    【讨论】:

    • 如何使用支持库配置 DatePicker,以便在棒棒糖前设备中显示材料 DatePicker?
    • 我的错,我忘了它是用于棒棒糖之前的设备。在这种情况下,您需要创建自己的库或使用库。
    【解决方案2】:

    我知道这个问题很老,但是接受的答案的库使用了我不喜欢的旧材料设计,所以我回移植了DatePickerDialogTimePickerDialog 的官方框架版本(奥利奥,8.0)使用 appcompat 库处理 API 14+。

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

    compile 'com.takisoft.fix:datetimepicker:1.0.0'
    

    【讨论】:

      猜你喜欢
      • 2015-05-30
      • 2015-01-21
      • 2015-04-05
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      • 2015-04-28
      相关资源
      最近更新 更多