安卓学习笔记(一)用户协议对话框

view_dialog_clause.xml



    

    

    

    

        

Fragment中调用showClauseDialog

private void showClauseDialog() {
        final View dialogView = LayoutInflater.from(getContext())
                .inflate(R.layout.view_dialog_clause,null);
        final Dialog clauseDialog = new android.support.v7.app.AlertDialog
                .Builder(getContext())
                .setView(dialogView)
                .show();
        final WindowManager.LayoutParams params = clauseDialog.getWindow().getAttributes();
        //获取屏幕分辨率
        DisplayMetrics metrics =getApplicationContext().getResources().getDisplayMetrics();
        int width = metrics.widthPixels;int height = metrics.heightPixels;
        //设置对话框大小
        params.width = Math.round(width*4/5);
        params.height = Math.round(height*4/5);
        clauseDialog.getWindow().setAttributes(params);
        clauseDialog.getWindow().setBackgroundDrawableResource(android.R.color.white);

        mWebView=dialogView.findViewById(R.id.webView);
        mWebView.loadUrl(UrlHelper.getHost() + URL_LEGAL_PROVISIONS);
        final CheckBox mCheckBox=dialogView.findViewById(R.id.checkBox);
        final Button mButtonSubmit=dialogView.findViewById(R.id.clause_submit);
        final Button mButtonCancel=dialogView.findViewById(R.id.clause_cancel);
        mCheckBox.setChecked(false);
        mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                                         boolean isChecked) {
                // 勾选监听事件
                if(isChecked){
                    mCheckBox.setTextColor(getResources().getColor(R.color.app_blue_color));
                    mButtonSubmit.setTextColor(getResources().getColor(R.color.app_blue_color));
                    //确定按钮监听
                    mButtonSubmit.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            if (mCheckBox.isChecked())
                                clauseDialog.dismiss();
                        }
                    });
                }else{
                    mCheckBox.setTextColor(getResources().getColor(R.color.clause_gray));
                    mButtonSubmit.setTextColor(getResources().getColor(R.color.clause_gray));
                }
            }
        });

        mButtonCancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getFragmentManager().popBackStack();
                clauseDialog.dismiss();
            }
        });


        clauseDialog.show();
    }

你可能感兴趣的:(安卓)