从 AlertDialog 中删除默认分隔符
Removing default dividers from AlertDialog
我创建了一个自定义警报对话框。我使用半透明形状作为背景。
并且它的按钮在未聚焦状态下是完全透明的。
该按钮还使用纯色形状进行自定义。
我的问题是,原来默认按钮所在的按钮两侧有白线。
我试图通过改变颜色、宽度等来操纵分隔线。
我试过了:
android:showDividers="none"
但是我的 none 操作成功了。
所以我认为这两行可能不是分隔线。
但我找不到这些是什么以及如何隐藏它们。
这是我的 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>
这些是我要隐藏的行:
我找到了导致这些分隔线的原因。这是因为我将 Holo 设置为按钮样式的 parent。
这里,
<style name="Organic_ButtonBar_AlertDialog" parent="@android:style/Holo.ButtonBar.AlertDialog">
在这里,
<style name="Organic_Button_AlertDialog" parent="@android:style/Holo.ButtonBar.AlertDialog">
现在我删除了 parents 并且线条消失了。
我创建了一个自定义警报对话框。我使用半透明形状作为背景。 并且它的按钮在未聚焦状态下是完全透明的。 该按钮还使用纯色形状进行自定义。
我的问题是,原来默认按钮所在的按钮两侧有白线。
我试图通过改变颜色、宽度等来操纵分隔线。
我试过了:
android:showDividers="none"
但是我的 none 操作成功了。 所以我认为这两行可能不是分隔线。
但我找不到这些是什么以及如何隐藏它们。
这是我的 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>
这些是我要隐藏的行:
我找到了导致这些分隔线的原因。这是因为我将 Holo 设置为按钮样式的 parent。 这里,
<style name="Organic_ButtonBar_AlertDialog" parent="@android:style/Holo.ButtonBar.AlertDialog">
在这里,
<style name="Organic_Button_AlertDialog" parent="@android:style/Holo.ButtonBar.AlertDialog">
现在我删除了 parents 并且线条消失了。