Android TimePickerDialog Material 设计颜色

标签 android material-design android-timepicker

我在我的应用程序中使用时间选择器对话框。我也在使用 appcompat 给我的应用程序设计主题。然而,该对话框保持默认的蓝绿色强调色(我的强调色是浅蓝色)。

所以在我的代码中,我尝试将对话框主题设置为我自己的主题,并且可以接受它使其全屏显示

mTimePicker = new TimePickerDialog(ctx, R.style.AppTheme new TimePickerDialog.OnTimeSetListener() {->}, hour, minute, DateFormat.is24HourFormat(context));

有谁知道如何设置 TimePickerDialog 以使用我的颜色而不是默认颜色正确显示?

最佳答案

这可以从 xml 轻松实现(仅限 5.0+)

v21/themes.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="Theme"
           parent="MyTheme.Base">

        <item name="android:dialogTheme">@style/Theme.Dialog</item> <!-- TimePicker dialog -->
        <item name="android:alertDialogTheme">@style/Theme.Dialog</item> <!-- Alert dialog -->

    </style>

    <style name="Theme.Dialog"
           parent="android:Theme.Material.Light.Dialog">

        <item name="android:colorAccent">@color/...</item>
        <item name="android:colorPrimary">@color/...</item>
        <item name="android:colorPrimaryDark">@color/...</item>

    </style>

</resources>

编辑
请注意,从 Android 支持库 22.1.0 开始,有一个新的 AppCompatDialog 可用! http://android-developers.blogspot.de/2015/04/android-support-library-221.html

关于Android TimePickerDialog Material 设计颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27873131/

相关文章:

android - FCM(Firebase 云消息传递)使用 Asp.Net 推送通知

Android 未在 ionic 应用程序中请求权限

android - 自动滚动到 RecyclerView 底部

html - 将复选框右对齐

android - NumberPicker Material Style 自定义选择 Divider

javascript - 如何更改默认配色方案 timepicker 对话框 fragment ?

不是对话框的 Android 日期/时间选择器

java - 时间选择器对话框 : Change hours/minutes text size

android - 灰色框缩略图图标 Google Play Developer Console

android - 如何实现这个 Material Design 2.0 按钮形状?