Android中TimePickerDialog按钮颜色不生效及冒号消失问题
Android TimePickerDialog样式问题(按钮颜色与冒号显示问题)
更新
我更新了样式,现在可以看到并设置按钮颜色,但小时与分钟之间的冒号消失了。以下是生效的样式:
<style name="AppTheme.TimePickerDialog" parent="android:Theme.Material.Light.Dialog"> <item name="android:colorControlNormal">@color/blue</item> <item name="colorAccent">@color/black</item> <item name="colorPrimary">@color/green</item> <item name="android:buttonBarButtonStyle">@style/Widget.AppCompat.Button.Colored</item> <item name="android:timePickerStyle">@style/AppTheme.TimePicker</item> </style> <style name="AppTheme.TimePicker"> <item name="android:timePickerMode">spinner</item> </style>
关键修改是添加了设为colored的buttonBarButtonStyle,这让按钮变为绿色,选择器的栏变为蓝色。我尝试了多个属性来恢复冒号,但目前尚未成功。
原帖
在TimePickerDialog中使用TimePicker时,无法修改对话框中“OK”和“Cancel”按钮的颜色——当前按钮文字为白色,背景也是白色,导致按钮不可见。
尝试设置多种颜色属性,但均无效果。当前XML代码如下:
<style name="AppTheme.TimePickerDialog" parent="android:Theme.Material.Light.Dialog"> <item name="android:timePickerStyle">@style/AppTheme.TimePicker</item> <item name="buttonBarPositiveButtonStyle">@style/AppTheme.TimePickerButtons</item> <item name="buttonBarNegativeButtonStyle">@style/AppTheme.TimePickerButtons</item> </style> <style name="AppTheme.TimePicker" parent="android:Widget.Material.TimePicker"> <item name="android:timePickerMode">spinner</item> <item name="buttonBarPositiveButtonStyle">@style/AppTheme.TimePickerButtons</item> <item name="buttonBarNegativeButtonStyle">@style/AppTheme.TimePickerButtons</item> </style> <style name="AppTheme.TimePickerButtons" parent="Widget.MaterialComponents.Button.TextButton.Dialog"> <item name="android:textColor">@color/white</item> <item name="backgroundTint">@color/red</item> </style>
还尝试在TimePickerDialog中设置以下属性,但均未影响按钮颜色:
<item name="android:colorButtonNormal">@color/black</item><item name="android:colorControlNormal">@color/black</item><item name="android:colorAccent">@color/black</item>
应用中的AlertDialog和DatePickerDialog样式设置均无问题,不清楚TimePickerDialog的实现有何不同。如果不添加任何时间选择器样式,对话框颜色正常,但需要设置样式使其为spinner模式而非时钟模式。
内容的提问来源于stack exchange,提问作者marvas
相关产品推荐
相关产品推荐

