android PopupWindow的简单使用

实现思路:1、获取到根view 2、获取到要弹出的view 3、确定位置并弹出(同时背景变暗)4、触摸弹框外弹框消失,背景恢复

//获取根view
mRootView=LayoutInflater.from(EditCameraActivity.this).inflate(R.layout.activity_edit_camera, null);
//获取弹出view
mPopView=LayoutInflater.from(EditCameraActivity.this).inflate(R.layout.popupwindow,null);
//创建PopupWindow
mPopupWindow = new PopupWindow(mPopView,
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT,true);
//设置触摸背景时使弹出框消失
mPopupWindow.setOutsideTouchable(true);
//设置弹出框内部控件可点击
mPopupWindow.setFocusable(true);
//弹出框消失时,背景不再灰暗
mCommitPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {
                WindowManager.LayoutParams lp = getWindow().getAttributes();
                lp.alpha = 1f;
                getWindow().setAttributes(lp);
            }
});
//更改弹出时背景的透明度
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.alpha = 0.4f;
getWindow().setAttributes(lp);
//确定弹出的位置并弹出
mPopupWindow.showAtLocation(mRootView, Gravity.BOTTOM,0,0);

       

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值