在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;
然后弹出不可见的对话框,屏幕逐渐变暗,按键不起作用,按返回键才返回之前的状态,效果非常炫,用于锁屏幕绝对是最佳选择,效果太好了。