And*_*cus 30 android datepicker android-appcompat material-design
我正在尝试使用AppCompat将新的Android 5.0 Material Design Datepicker添加到我的5.0之前的应用程序中.我已经添加
compile "com.android.support:appcompat-v7:21.0.0"
Run Code Online (Sandbox Code Playgroud)
到我的build.gradle文件并将我的主题更新为:
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
<style name="AppTheme.Base" parent="@style/Theme.AppCompat.Light">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但Datepicker仍然如下所示:
而不是这样的:

任何人都可以告诉我如何让新的datepicker在5.0之前的设备上运行吗?
提前致谢.
Fer*_*ari 26
更新:
正如jfcartier所指出的,现在还有MaterialDateTimePicker.它可能是一个比下面更好的解决方案,因为它有一个很好的可用API.
你可以尝试android-betterpickers库.它有一个CalendarDatePickerDialog看起来像你想要的小部件.它提供了浅色和深色主题,但是为了自定义颜色,您必须将其添加为库项目并自行更改代码.
将库添加到项目后,用法非常简单.
// Create date picker listener.
CalendarDatePickerDialog.OnDateSetListener dateSetListener = new CalendarDatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(CalendarDatePickerDialog dialog, int year, int monthOfYear, int dayOfMonth) {
// Set date from user input.
Calendar date = Calendar.getInstance();
date.set(Calendar.HOUR_OF_DAY, 9);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.YEAR, year);
date.set(Calendar.MONTH, monthOfYear);
date.set(Calendar.DAY_OF_MONTH, dayOfMonth);
// Do as you please with the date.
}
};
// Create dismiss listener.
CalendarDatePickerDialog.OnDialogDismissListener dismissListener = new CalendarDatePickerDialog.OnDialogDismissListener() {
@Override
public void onDialogDismiss(DialogInterface dialoginterface) {
// Do something when the user dismisses the dialog.
}
};
// Show date picker dialog.
CalendarDatePickerDialog dialog = new CalendarDatePickerDialog();
dialog.setOnDateSetListener(dateSetListener);
dialog.setOnDismissListener(dismissListener);
dialog.setThemeDark(false);
dialog.show(getSupportFragmentManager(), "DATE_PICKER_TAG");
Run Code Online (Sandbox Code Playgroud)
最终结果应该是这样的(抱歉质量很差).

| 归档时间: |
|
| 查看次数: |
65201 次 |
| 最近记录: |