gpt4 book ai didi

java - 更改 EditTextPreference 的对话框消息颜色

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:10:19 25 4
gpt4 key购买 nike

我有一个自定义偏好,它扩展了 EditTextPreference :

class DeleteAccountPreference(context: Context, attrs: AttributeSet) : EditTextPreference(context, attrs) {
...
}

preferences.xml

<my.app.DeleteAccountPreference
android:layout="@layout/preference_click"
android:key="delete_account"
android:title="Delete Account"
android:dialogMessage="@string/delete_account_message" />

我已将自定义主题应用于:

styles.xml

<style name="BaseTheme" parent="Theme.AppCompat.NoActionBar">
...
<item name="alertDialogTheme">@style/AlertDialogTheme</item>
</style>

<style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:background">@color/colorIcons</item>
<item name="colorPrimary">@color/colorLightBlack</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorPrimaryDark">@color/colorExit</item>
<item name="editTextColor">@color/colorAccent</item>
<item name="android:textColorHint">#000000</item>
<item name="android:windowBackground">@color/colorPrimary</item>
</style>

但是无论我添加什么项目到AlertDialogTheme ,我似乎无法更改 dialogMessage颜色(白色)如下所示。

知道什么<item>我需要添加以更改此颜色吗?

最佳答案

您应该将 android:textColorSecondary 应用于您的 Activity 主题:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:textColorSecondary">#FF5722</item>
</style>

然后你会得到一个橙色的消息内容:

请注意,这将影响此 Activity 中依赖于 textColorSecondary 属性的所有其他 View 。我试图使此更改仅影响特定的偏好,不幸的是 PreferenceFragmentCompat 将忽略提供的 Context 并将使用 Activity 的上下文,因此传递一个 ContextThemeWrapper 自定义主题不会生效。我想这是 Google 团队有意识的决定,这意味着此首选项屏幕内的所有属性都应适应相同的配色方案。

关于java - 更改 EditTextPreference 的对话框消息颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56615492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com