Android AlertDialog实现半透明的弹窗
在Android中使用AlertDialog可以很方便地实现自定义layout的半透明弹窗。
自定义一个layout文件,通过AlertDialog的setContentView方法加载进来,通过回调接口来处理View的交互事件。
public static void alertVerifyDialog(final Context context, final byte[] verify_image_datas, final String question_text,final MyListener listener) { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setCancelable(true); final AlertDialog alert = builder.create(); alert.show(); alert.setContentView(R.layout.xxxxxxxxx); alert.getWindow().clearFlags( WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); …… Button cancel = (Button) alert.findViewById(R.id.xxxxxxxxx); cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { alert.dismiss(); } }); Button postive = (Button) alert.findViewById(R.id.xxxxxxxxx); postive.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { …… if (listener != null) { listener.onOKClick(alert, code, question); } } }); }