从AlertDialog中删除默认分隔符

时间:2015-08-03 17:53:33

标签: android android-layout android-alertdialog android-theme android-styles

我创建了一个自定义alertdialog。我用半透明的形状作为背景。 它的按钮在未聚焦状态下完全透明。 该按钮也可以使用纯色形状进行自定义。

我的问题是,按钮两侧有白线,默认按钮最初位于此处。

我试图通过改变颜色,宽度等来操纵分隔线。

我试过了:

机器人:showDividers ="无"

但我的所有操作都没有奏效。 所以我认为这两行可能不是分隔线。

但是我找不到这些是什么以及如何隐藏它们。

这是我的java代码:

AlertDialog.Builder alert = new AlertDialog.Builder(this, R.style.Theme_Organic_Dialog_Alert);

        alert.setMessage(R.string.channel_warning_message);

        alert.setNeutralButton(R.string.okay, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                //sthLikeDoNothing();
            }
        });

        alert.show();

我的主题:

<style name="Theme_Organic_Dialog_Alert">
    <item name="android:windowBackground">@drawable/alert_dialog_bg</item>
    <item name="android:background">@android:color/transparent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:buttonBarButtonStyle">@style/Organic_Button_AlertDialog</item>
    <item name="android:buttonBarStyle">@style/Organic_ButtonBar_AlertDialog</item>
    <item name="android:alertDialogStyle">@style/AlertDialog_Organic</item>
    <item name="android:textAppearanceMedium">@style/TextAppearance_Organic</item>
</style>

我的按钮样式:

<style name="Organic_ButtonBar_AlertDialog" parent="@android:style/Holo.ButtonBar.AlertDialog">
    <item name="android:background">@android:color/transparent</item> <!-- ButtonBar background transparency -->
</style>

<style name="Organic_Button_AlertDialog" parent="@android:style/Holo.ButtonBar.AlertDialog"> <!-- Custom drawable button -->
    <item name="android:background">@drawable/alert_dialog_button_selector</item>
    <item name="android:textColor">@drawable/alert_dialog_button_txt_color_selector</item>
    <item name="android:fontFamily">roboto-regular</item>
    <item name="android:textSize">20sp</item>
</style>

这些是我想要隐藏的行:

enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了导致这些分隔线的原因。这是因为我将 Holo 设置为我的按钮样式的父级。 这里,

<style name="Organic_ButtonBar_AlertDialog" parent="@android:style/Holo.ButtonBar.AlertDialog">

在这里,

<style name="Organic_Button_AlertDialog" parent="@android:style/Holo.ButtonBar.AlertDialog">

现在我删除了父母,线条消失了。