1

如何将警报主题设置为标准 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();
4

2 回答 2

8

带有 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 );
于 2015-10-28T06:26:23.933 回答
2

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

new AlertDialog.Builder (this, AlertDialog.THEME_HOLO_DARK)
于 2013-11-08T22:21:45.243 回答