Lollipop下面的TimePicker时钟模式

时间:2015-11-14 07:37:30

标签: android timepicker

我正在尝试将TimePicker显示为时钟。我使用timepickermode="clock"但是我得到一个lint警告,表示它与api 21级及以上版本兼容。

我在Todoist应用程序中看到此功能在我的kitkat上运行。我该怎么做呢?

2 个答案:

答案 0 :(得分:2)

根据documentation所述,你不能在Lollipop之前的版本中使用TimePicker时钟外观:

  

<强> timePickerMode
  定义窗口小部件的外观。在L发布之前,唯一的选择是微调器。截至L,具有Material主题   选中,默认布局是时钟,但可以使用此属性   强制使用微调器。

Google本身提供了一种替代方案。它是一个与API级别14及更高级别兼容的外部日期选择器项目。你可以在这里找到这个项目:

https://android.googlesource.com/platform/frameworks/opt/datetimepicker/

克隆回购后,将其添加到现有项目中,然后就可以使用TimePicker这样:

TimePickerDialog timePickerDialog = new TimePickerDialog();
timePickerDialog.setOnTimeSetListener(new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute) {

    }
});
timePickerDialog.show(getFragmentManager(), fragmentTag);

小心导入com.android.datetimepicker.time.TimePickerDialog而非标准android.app.TimePickerDialog

答案 1 :(得分:0)

Here是一个很好的库,它为Pre-lolipop设备带来了一些Material小部件,你也可以找到时间选择器。