无法自定义TimePicker颜色

时间:2018-05-29 10:14:48

标签: android android-view android-custom-view android-timepicker

我想让我的时间选择器看起来像这样: The desired outcome

所以我正在做我在This guide

上发现的事情

这就是我实际得到的:The true outcome

这是我的自定义风格:

<style name="customTimePicker" parent="@android:style/Widget.Material.TimePicker">
    <item name="android:timePickerMode">clock</item>
    <item name="android:headerBackground">#0076a3</item>
    <item name="android:numbersTextColor">#ffffff</item>
    <item name="android:numbersInnerTextColor">#ffffff</item>
    <item name="android:numbersSelectorColor">#fbc014</item>
    <item name="android:numbersBackgroundColor">#004a80</item>
    <item name="android:amPmTextColor">#ffffff</item>
</style>

这就是我在XML文件中使用它的方式:

<TimePicker
    android:id="@+id/tpAnalog"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:theme="@style/customTimePicker"
    style="@style/customTimePicker"
    android:visibility="visible"/>

在android studio的预览屏幕上,它看起来几乎像我想要preview on Android studio

那么为什么当我在我的设备上运行它时,这不起作用?

修改:我忘了在我的活动主题上使用这行代码:

<item name="android:timePickerStyle">@style/customTimePicker</item>

除了我仍然无法更改所选号码的文字颜色外,它似乎解决了我的所有问题。 This is the text I want to change。这可能吗?

2 个答案:

答案 0 :(得分:0)

o change DatePicker colors (calendar mode) at application level define below properties.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['ARCHS'] = 'arm64'
    end
  end
end

答案 1 :(得分:0)

使用此样式,我可以更改背景颜色。

  <style name="MyTimePickerWidgetStyle" parent="@android:style/Widget.Material.TimePicker">
            <item name="android:headerBackground">#0076A3</item>
            <item name="android:numbersTextColor">#b71c1c</item>
            <item name="android:numbersInnerTextColor">#f44336</item>
            <item name="android:numbersSelectorColor">#DCA811</item>
            <item name="android:numbersBackgroundColor">#004A80</item>
            <item name="android:amPmTextColor">#fff</item>
        </style>
        <TimePicker
        android:id="@+id/timePicker"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:background="#359EF3"
        android:theme="@style/MyTimePickerWidgetStyle"
        style="@style/MyTimePickerWidgetStyle" />

enter image description here