Android中的PopupWindow用法样例:

263 阅读1分钟
  public void showPopWindow(){
        View view=LayoutInflater.from(this).inflate(R.layout.acvitity_popwindow,null);
        view.setBackgroundColor(Color.GRAY);//给view视图设置背景颜色(灰色),不然看不到效果
        //实例化控件
        name = (EditText) view.findViewById(R.id.et_username);
        pwd = (EditText) view.findViewById(R.id.et_pwd);
        btn_login= (Button) view.findViewById(R.id.btn_login);
        btn_cancle= (Button) view.findViewById(R.id.btn_cancle);
        //实例化PopupWindow
        final PopupWindow window=new PopupWindow(view,600,300);//设置PopupWindow的显示大小
        window.setFocusable(true);//设置popupwindow可以获取焦点
        //给pupupwindow设置一个背景 透明的,以便点击popupwindow外边时候可以实现消失
        window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        window.setOutsideTouchable(true);//设置点击外部消失
        window.showAsDropDown(btn_popwindow);//显示在按钮下方
//        window.showAtLocation(view, Gravity.RIGHT,0,0);或者显示在指定父布局上边的指定位置
        btn_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String username = name.getText().toString();
                String password = pwd.getText().toString();
                Toast.makeText(MainActivity.this, "username:" + username + " pwd:" + password, Toast.LENGTH_SHORT).show();
                window.dismiss();//点击登录后自动消失
            }
        });
        btn_cancle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                window.dismiss();//点击取消后自动消失
            }
        });
    }