如何在AlertDialog.Builder AppCompat中更改Items的颜色?

时间:2015-09-17 11:34:57

标签: android text colors alertdialog android-appcompat

如何在AlertDialog.Builder AppCompat中更改项目的颜色?

我想将textColor项目(照片,gallary)设置为任何其他项目。

这是我的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.AppCompatAlertDialogStyle);
        builder.setTitle(getResources().getString(R.string.choose_image_source));
        builder.setItems(new CharSequence[]{getResources()
                        .getString(R.string.photo), getResources()
                        .getString(R.string.camera)}, new DialogInterface.OnClickListener() {

...

<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">

        <item name="colorAccent">#000000</item><!-- buttons OK cancel-->
        <item name="android:textColorPrimary">#696969</item><!--text in message-->
        <item name="android:background">#f0a400</item> <!-- all bg-->
    </style>
    <style name="MyTitleTextStyle">
        <item name="android:textColor">#000000</item><!-- title color-->
        <item name="android:textAppearance">@style/TextAppearance.AppCompat.Title</item>
    </style>

enter image description here

2 个答案:

答案 0 :(得分:5)

试试这个:

<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="colorAccent">#000000</item><!-- buttons OK cancel-->
    <item name="android:textColorPrimary">#696969</item><!--text in message-->
    <item name="android:background">#f0a400</item> <!-- all bg-->
    <!-- items color -->
    <item name="textColorAlertDialogListItem">#33b5e5</item>
</style>
<style name="MyTitleTextStyle">
    <item name="android:textColor">#000000</item><!-- title color-->
    <item name="android:textAppearance">@style/TextAppearance.AppCompat.Title</item>
</style>

答案 1 :(得分:0)

我有点面临同样的问题。解决它的唯一方法是扩展我自己的布局版本。我看到你的情况是一个AlertDialog。我建议你做的是创建一个独特的类,即你自定义的AlertDialog并为此创建一个布局,然后你膨胀它。

这是一篇对我很有帮助的帖子。 http://blog.androgames.net/10/custom-android-dialog/

我按照这篇文章解决了自定义对话框的问题。

如果您有更多疑问,请告诉我。

感谢。