首先我们需要自定义dialog布局文件view_input_pwd_dialog.xml,如下:

<?xml version="1.0" encoding="utf-8"?>                            

dialog背景圆角定义dialog_bg.xml:

<?xml version="1.0" encoding="UTF-8"?>                                                


代码实现:

  LayoutInflater inflater = LayoutInflater                .from(getActivity());        LinearLayout layout = (LinearLayout) inflater.inflate(                R.layout.view_input_pwd_dialog, null);        final EditTextWithLabel pwdEt = (EditTextWithLabel) layout                .findViewById(R.id.edit_text);        Button firmBtn = (Button) layout                .findViewById(R.id.btn_dialog_firm);        Button cancleBtn = (Button) layout                .findViewById(R.id.btn_dialog_give_up);        TextView wifiNameTv = (TextView) layout.findViewById(R.id.wifi_name);        wifiNameTv.setText(getString(R.string.share_wifi_name_lable, wifi.hot_name));        pwdEt.getEditText().setInputType(InputType.TYPE_CLASS_TEXT                | InputType.TYPE_TEXT_VARIATION_PASSWORD);        pwdEt.getImageView().setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                EditText editText = pwdEt.getEditText();                int hide = InputType.TYPE_CLASS_TEXT                        | InputType.TYPE_TEXT_VARIATION_PASSWORD;                int show = InputType.TYPE_CLASS_TEXT                        | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;                if (editText.getInputType() == hide) {                    editText.setInputType(show);                    pwdEt.getImageView().setImageResource(R.mipmap.pwd_show);                } else {                    editText.setInputType(hide);                    pwdEt.getImageView().setImageResource(R.mipmap.pwd_hide);                }                pwdEt.getEditText().setSelection(pwdEt.getText().toString().length());            }        });        final AlertDialog dlg = new AlertDialog.Builder(                getActivity()).create();        dlg.setView(layout, 0, 0, 0, 0);//防止黑边        dlg.setCancelable(true);        firmBtn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                String pwd = pwdEt.getText().toString();                if (StringUtils.isEmpty(pwd)) {                    ToastUtils.show("密码不能为空,请确认");                    return;                }                if (!StringUtils.isEmpty(pwd) && pwd.length() < 8) {                    ToastUtils.show("密码位数不正确,请确认");                    return;                }                wifi.password = pwd;                mNetId = mHotManager.connectWiFi(wifi);                mFragmentHomeBinding.header.setCenterText(wifi.hot_name, 20);                updateConnectingUI(getResources().getString(R.string.be_connecting));                isConnecting = true;                mFragmentHomeBinding.header.startAnimation();                dlg.dismiss();            }        });        cancleBtn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                dlg.dismiss();            }        });        Window window = dlg.getWindow();        window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));  // 有白色背景,加这句代码        dlg.show();        //获取屏幕的长宽        WindowManager windowManager = getActivity().getWindowManager();        Display display = windowManager.getDefaultDisplay();        int screenheight = display.getHeight();        int screenWidth = display.getWidth();        //设置弹出框的长宽        dlg.getWindow().setLayout(screenWidth * 4 / 5, screenheight * 2 / 5);

最终实现效果:

          android 自定义实现圆角Dialog_第1张图片

更多相关文章

  1. Android 4.x上适配设置DialogFragment背景透明--可拓展实现悬浮
  2. 设置android的布局文件的背景颜色为黑色
  3. Android设置桌面背景图片的方法
  4. Android: VideoView做背景仿常见APP登录动态页面
  5. Android自定义对话框去掉白色边框
  6. Android的AlertDialog,setView后去除黑色边框
  7. android > layout > background 背景图片重复
  8. Android背景设置
  9. android 按钮 背景 文字 自定义

随机推荐

  1. 【Android】用retrofit使用单独的URL和处
  2. Android开发之permission
  3. 10个android开发人员应该看的精品开源项
  4. Android 中的图像特效(Matrix)
  5. Android(安卓)Monkey
  6. 【android 应用】Android(安卓)APP(应用)如何
  7. android获取控件宽高和屏幕宽高
  8. Fragment开发实例
  9. SVG使用
  10. 各种款式的别致的 Android 体恤衫