在5.0+上更改对话框文本颜色

Pse*_*328 7 android dialog

我正在尝试更改对话框中的文本颜色,最常见的是AlertDialog.我在这些页面上尝试了所有解决方案:

AlertDialog样式 - 如何更改标题,消息等的样式(颜色)

如何更改AlertDialog标题的颜色以及其下方的线条颜色

如何更改AlertDialog的主题

大多数解决方案的工作低于5.0但高于它,它们似乎没有任何影响.我应该为5.0+更改哪些不同的属性?

我的应用程序的父主题是"Theme.AppCompat.Light.NoActionBar"

小智 32

在您的情况下,我认为对话框主题将起作用.

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.YourDialogStyle;
Run Code Online (Sandbox Code Playgroud)

您可以像上面的代码一样指定对话框主题.

<style name="YourDialogStyle" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:colorAccent">@color/primary</item>
    <item name="android:textColor">@color/accent</item>
    <item name="android:textColorPrimary">@color/primary_dark</item>
</style>
Run Code Online (Sandbox Code Playgroud)

以下是Dialog主题的示例.

  • android:colorAccent会影响你的负面或正面按钮的文字颜色.
  • android:textColor会影响对话框的标题文字颜色.
  • android:textColorPrimary会影响对话框的消息颜色.

另一个选择是您可以为对话框创建自己的自定义布局.