You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:35:23