对话框上的自定义主题

时间:2014-08-10 10:15:37

标签: android eclipse api

我搜索了一个自定义对话框,我发现添加主题是一种自定义alertdialog的方法,以及每当我在android.R.style.Theme_Translucent_NoTitleBar添加AlertDialog时。我的程序在运行时强制关闭。我收到Call requires API level 11 (current min is 8): new android.app.AlertDialog.Builder我是否需要安装API级别11?

我的API是8到19。

继承我的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
     builder = new AlertDialog.Builder(this, android.R.style.Animation_Dialog);
     builder.setTitle("Exit");
     builder.setMessage("Do you want to quit the game?");
     builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog, int which) {
          dialog.dismiss();
          finish();
                }
            });
     builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
     @Override
          public void onClick(DialogInterface dialog, int which) {
          dialog.dismiss();
            }
        });

        AlertDialog alert = builder.create();
        alert.show();
}

我需要使用这种不同类型的主题?

请告诉我的问题,谢谢你们。

1 个答案:

答案 0 :(得分:2)

首先,为什么要创建两次对象: -

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

接下来,您可能正在设备上调试您的应用程序,该应用程序小于HoneyComb (API 11)。但是 AlertDialog.Builder(Context context,int theme)在API级别11中添加。因此对于版本< 11,你可以使用

Builder builder = new AlertDialog.Builder(new   
     ContextThemeWrapper(this,android.R.style.Theme_DeviceDefault_Light_Dialog));