如何设置AlertDialog的主题

时间:2013-11-08 22:18:44

标签: android themes alertdialog

如何将警报主题设置为标准Android主题之一?我想使用Holo Dark,因为弹出窗口默认为Holo Light。 我的代码:

        AlertDialog.Builder confirm = new AlertDialog.Builder(this);
        confirm.setTitle("Confirm");
        confirm.setMessage("Confirm and set delay?");
        confirm.setCancelable(false);
        confirm.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    startDelay();
               }
           });
        confirm.setNegativeButton("No", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
               }
           });
        confirm.show();

2 个答案:

答案 0 :(得分:4)

v7库的主题 android.support.v7.app.AlertDialog

android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(this,R.attr.alertDialogTheme);

主题与 android.app.AlertDialog的构造函数

android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this,AlertDialog.THEME_HOLO_LIGHT );

但根据新文件
此常量(AlertDialog.THEME_HOLO_LIGHT)已在API级别23 中弃用。使用Theme_Material_Light_Dialog_Alert。

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

答案 1 :(得分:2)

您可以在构造函数中传递主题。

new AlertDialog.Builder (this, AlertDialog.THEME_HOLO_DARK)