【发布时间】:2018-08-01 07:35:31
【问题描述】:
我在不同设备上设置 TimePickerDialog 时遇到问题
我已经创建了一个样式
<style name="MyTimePickerStyle" parent="Theme.AppCompat.Light.Dialog">
<item name="android:colorAccent">@android:color/transparent</item>
<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorSecondary">@color/white50</item>
<item name="android:headerTimeTextAppearance">@color/white50</item>
<item name="android:textColor">@color/white</item>
<item name="android:windowBackground">@drawable/gradient_dialog</item>
<item name="android:headerBackground">@drawable/gradient_dialog</item>
<item name="android:textColorHighlight">@color/white</item>
<item name="android:colorControlActivated">@color/white50</item>
<item name="android:numbersBackgroundColor">@color/dark_three</item>
<item name="android:numbersInnerTextColor" tools:ignore="NewApi">@color/white50</item>
<item name="android:amPmTextColor">@color/white50</item>
<item name="android:numbersTextColor">@color/white50</item>
<item name="android:numbersSelectorColor">@color/lilac</item>
<item name="buttonBarNegativeButtonStyle">@style/DialogButtonStyle</item>
<item name="buttonBarPositiveButtonStyle">@style/DialogButtonStyle</item>
<item name="buttonBarNeutralButtonStyle">@style/DialogButtonStyle</item>
<item name="android:buttonBarNeutralButtonStyle">@style/DialogButtonStyle</item>
<item name="android:buttonBarPositiveButtonStyle">@style/DialogButtonStyle</item>
<item name="android:buttonBarNegativeButtonStyle">@style/DialogButtonStyle</item>
</style>
在不同的设备和 api lvl-s 上看起来像这样 安卓 26 安卓 23 安卓 21
我都尝试过像
TimePickerDialog(this,R.style.MyTimePickerStyle, listener, hour, minute, true)
或将其添加为 Activity 样式中的样式
<item name="android:timePickerDialogTheme">@style/MyTimePickerStyle</item>
两种情况的结果相同
使用自定义视图创建对话框并将样式添加到 TimePIcker 作为从 @android:style/Widget.Material.Light.TimePicker 继承的视图在不同的设备上给出了不同的结果,但这仍然不是假设的结果。
知道如何正确设置 TimePicker 的样式吗?
干杯 沃伊泰克
【问题讨论】:
-
我遇到了同样的问题,无法解决。所以我做的最后一件事是进行 api 检查并以不同的方式处理两个选择器。即低于 api 25 及以上 =25
-
:/ 为什么有些参数适用于某些 api 而有些参数不适用,我仍然感到困惑。对我来说这似乎是一个 android 错误
标签: android android-styles android-timepicker