我正在尝试将TimePicker
显示为时钟。我使用timepickermode="clock"
但是我得到一个lint警告,表示它与api 21级及以上版本兼容。
我在Todoist应用程序中看到此功能在我的kitkat上运行。我该怎么做呢?
答案 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小部件,你也可以找到时间选择器。