来自服务我正在通过虚拟活动创建对话框。在这里我可以看到黑色背景,整体对话框的主题看起来像Android V 2.2。我的应用程序最低API级别是8,如果我使用holo主题它说我需要min api级别为14。
这是我用来创建对话框的代码。如何获得ICS主题对话框。
public class PreviewDialog extends Activity{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Show the popup dialog
showDialog(0);
}
@Override
protected Dialog onCreateDialog(int id)
{
super.onCreateDialog(id);
// Build the dialog
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("ALARM REMINDER");
alert.setMessage("Its time for the alarm ");
alert.setCancelable(false);
alert.setPositiveButton("Dismiss", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
GoogleTaskPreviewDialog.this.finish();
}
});
// Create and return the dialog
AlertDialog dlg = alert.create();
return dlg;
}
}
我的清单文件条目
<activity android:name="PreviewDialog" android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity>
答案 0 :(得分:1)
您无法真正使用HOLO
中的主题,它仅适用于api >= 14/ice cream sandwich
<强>溶液强>
您可以设计自己的对话框布局,该布局看起来像是来自HOLO theme
的对话框,或者检查当前设备的API是否大于或等于ice cream sandwich
并设置{{ 1}}用于对话框,如果它只是使用2.2中的对话框主题。
<强>样品:强>
HOLO theme
另请注意, AlertDialog.Builder alert;
// Build the dialog
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH)
alert = new AlertDialog.Builder(this,android.R.style.Theme_Holo_Dialog);
else
alert = new AlertDialog.Builder(this);
已被弃用,我建议仅使用onCreateDialog
的实例对象来显示对话框,而不是在AlertDialog
内创建对话框并通过调用显示它onCreateDialog
。
答案 1 :(得分:0)
您可以使用AlertDialogPro在所有Android版本中构建Holo主题对话框。