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);
                }
            }
        });
       
    }

 

posted on 2016-05-25 14:42  2015xbx  阅读(1898)  评论(0编辑  收藏  举报

导航