我正在为标准警报对话框创建自定义主题,在添加alertDialogStyle
项后,警报框上的“确定/取消”按钮按顺序颠倒。我期待首先取消,然后确定。它在没有alertDialogStyle item
的情况下工作,但只要我添加项目,按钮就会显示OK和Cancel。
<!-- create style for Simple Alert Dialog Box -->
<style name="simpleDialogBoxStyle" parent="AppDialogTheme">
<item name="android:windowBackground">@drawable/dialog_actvity_border</item>
<item name="colorAccent">@color/standard_text_color_BLACK</item>
<item name="android:textAppearanceMedium">@style/AlertDialogBodyAttributes</item>
<item name="android:textAppearanceLarge">@style/AlertDialogTitleAttributes</item>
<item name="android:textAppearanceButton">@style/AlertDialogButtonAttributes</item>
<item name="android:buttonBarButtonStyle">@style/AlertDialogButtonAttributes</item>
<item name="android:alertDialogStyle">@style/AlertDialogColors</item>
</style>
<style name="AlertDialogColors">
<item name="android:bottomBright">@color/custom_theme_color</item>
<item name="android:bottomMedium">@color/custom_theme_color</item>
<item name="android:centerBright">@color/custom_theme_color</item>
<item name="android:centerDark">@color/custom_theme_color</item>
<item name="android:centerMedium">@color/custom_theme_color</item>
<item name="android:fullBright">@color/custom_theme_color</item>
<item name="android:fullDark">@color/custom_theme_color</item>
<item name="android:topBright">@color/custom_theme_color</item>
<item name="android:topDark">@color/custom_theme_color</item>
</style>
<style name="AlertDialogBodyAttributes">
<item name="android:textSize">@dimen/default_text_size_medium</item>
<item name="android:textColor">@color/standard_text_color_BLACK</item>
</style>
<style name="AlertDialogTitleAttributes">
<item name="android:textSize">@dimen/default_text_size_medium</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/standard_text_color_BLACK</item>
</style>
<style name="AlertDialogButtonAttributes" >
<item name="android:textSize">@dimen/default_text_size</item>
<item name="android:textAllCaps">true</item>
<item name="android:background">@color/transparent_color</item>
<item name="android:textStyle">bold</item>
</style>
以下是使用确定/取消显示警报框的方法:
public static void ShowOKCancelMessageBox(Context context, int xmlRLayout, String msg, String title, DialogInterface.OnClickListener listener) {
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(context, xmlRLayout);
dlgAlert.setMessage(msg);
dlgAlert.setTitle(title);
dlgAlert.setPositiveButton("OK", listener);
dlgAlert.setNegativeButton("Cancel", listener);
dlgAlert.setCancelable(false);
dlgAlert.create().show();
}