在onPreparDialog里加入:
public void onPrepareDialog(int id, Dialog d) {
WindowManager.LayoutParams lp = d.getWindow().getAttributes();
lp.width = 500;
lp.height = 300;
d.getWindow().setAttributes(lp);
switch(id){
case PROGRAM_INTRODUCE:
// 下面两个动态生成
@SuppressWarnings("unchecked")
Map<String, Program> mp = (Map<String, Program>) programAdapter
.getItem(programListView
.getSelectedItemPosition());
Program pm = mp.get("program");
LOGD("pm name ="+pm.getName());
if(pm != null){
program_introduce_alertDialog.setTitle(pm.getName());
if(pm.getIntroduction().equals("")){
program_introduce_alertDialog.setMessage(
getResources().getString(R.string.program_guide_introduce_null));
}else{
program_introduce_alertDialog.setMessage(pm.getIntroduction());
}
}else{
program_introduce_alertDialog.setTitle(getResources().getString(R.string.alert));
program_introduce_alertDialog.setMessage(
getResources().getString(R.string.program_guide_introduce_null));
}
break;
}
}
然后在onCreateDialog里加入:
case PROGRAM_INTRODUCE:
program_introduce_alertDialog = new AlertDialog.Builder(this).create();
return program_introduce_alertDialog;
然后弹出不可见的对话框,屏幕逐渐变暗,按键不起作用,按返回键才返回之前的状态,效果非常炫,用于锁屏幕绝对是最佳选择,效果太好了。