Android警报对话框文本不可见

时间:2016-03-02 06:33:15

标签: android android-alertdialog android-dialogfragment android-styles android-background

您好我正在使用自定义主题来自定义我的警报对话框。我的问题是,当我将背景颜色设置为任何颜色时,我的文本变得不可见。这是我的代码

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

        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:background">@color/black</item>
        <item name="textColorAlertDialogListItem">@color/white</item>

    </style> 

任何帮助将受到赞赏并提前感谢

8 个答案:

答案 0 :(得分:6)

您需要设置

<item name="android:textColor">#54D66A</item> // Add your Hex color code

修改

您应该使用android:textColorPrimary

<item name="android:textColorPrimary">#54D66A</item>

答案 1 :(得分:1)

您必须为文本设置颜色,因为对话框背景颜色和文本颜色相同,因此文本不可见,设置

<item name="android:textColor">#FFFFFF</item>

答案 2 :(得分:1)

this.Control.CheckForIllegalCrossThreadCalls=false;

试试这个

Guide Line

答案 3 :(得分:0)

相应地尝试以下风格:

<style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:typeface">monospace</item>
    <item name="android:textSize">18sp</item>
    <item name="android:textColorAlertDialogListItem">#FFFFFF</item>
</style>

答案 4 :(得分:0)

您可以通过将主题应用于对话框来实现它。

使用 android.R.style.Theme_Material_Light_Dialog_Alert 作为对话框主题。像这样

builder = new AlertDialog.Builder(mContext, android.R.style.Theme_Material_Light_Dialog_Alert);

希望它能奏效。

答案 5 :(得分:0)

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <style name="CustomDialogFragment"   parent="@android:style/android:Theme.Dialog">
    <item name="android:textColor">#00FF00</item>
    <item name="android:typeface">monospace</item>
    <item name="android:textSize">10sp</item>
    </style>
    </resources>

我认为这会对你有帮助..

答案 6 :(得分:0)

对于Android N支持,您应该使用:

<item name="android:textColorPrimary">#ffffff</item>
<item name="android:alertDialogTheme">@android:style/Theme.DeviceDefault.Light.Dialog.Alert</item>

答案 7 :(得分:0)

在我的情况下,原因是因为使用“错误”布局inflater。花一整天来解决这个问题:(

“错误的”Inflater

LayoutInflater inflater = (LayoutInflater) Navigations.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

“纠正”Inflater

LayoutInflater inflater = mainActivity.getLayoutInflater();