【发布时间】:2019-12-17 09:45:38
【问题描述】:
我似乎无法通过 xml 将 datepickerdialog 转换为微调器。我目前没有使用有错误的 API 24。 我尝试通过定义一种新样式来做到这一点,并在创建 DatePickerDialog 时使用它,就像推荐的 here 一样,但它仍然不起作用;
<style name="CustomDatePickerDialog" parent="android:Theme.Material.Light.Dialog">
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:datePickerMode">spinner</item>
<item name="android:calendarViewShown">false</item>
<item name="android:spinnersShown">true</item>
</style>
这里是对话框定义;
dialog = new DatePickerDialog(CurrentActivity.this, R.style.CustomDatePickerDialog, new DatepickerDialog.OnDateSetListener() {...}, y,m,d);
dialog.show();
奇怪的是,如果我在对话框实例化之后和显示它之前在代码中定义这两行,它只会向我显示微调器,这就是我想要的;
dialog.getDatePicker().setCalendarViewShown(false);
dialog.getDatePicker().setSpinnersShown(true);
我不明白为什么 xml 对我不起作用,尽管其他人似乎对它很好。我使用了错误的上下文吗?欢迎任何帮助。
编辑:我遇到了问题,因为我不想使用已弃用的两行来解决我的问题。所以这意味着我也不想使用 Theme_Holo_Light 或其他类似的已弃用主题。
【问题讨论】:
-
你检查过this的答案吗?它可能会帮助你。
-
已经看过了,据我了解对我没有帮助
标签: android xml datepicker spinner datepickerdialog