实现弹出窗口后Activity背景变暗

本文详细介绍了如何在Android应用中创建并初始化自定义PopupWindow,包括设置动画效果、调整窗口透明度以及实现点击其他地方窗口消失的功能。通过实例代码演示了PopupWindow的基本使用,并提供了关键的配置步骤,如获取PopupWindow实例、窗口大小与位置设定、动画样式选择及背景透明度修改等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1     /**   
 2         * 创建PopupWindow   
 3         */     
 4         protected void initPopuptWindow() {     
 5          WindowManager windowManager = getActivity().getWindowManager();  
 6          Display display =  windowManager.getDefaultDisplay();  
 7          popupWindow = new PopupWindow(popupWindow_view, display.getWidth(),display.getHeight(), true);    
 8           // 设置动画效果     
 9          popupWindow.setAnimationStyle(R.style.Animation_ZoomLight);  
10           //修改窗口的透明度,从而使Activity背景变暗
11 WindowManager.LayoutParams params=getActivity().getWindow().getAttributes();
12 params.alpha=0.7f; 13 getActivity().getWindow().setAttributes(params); 14 //点击其他地方消失 15 popupWindow_view.setOnTouchListener(new OnTouchListener() { 16 @Override 17 public boolean onTouch(View v, MotionEvent event) { 18 // TODO Auto-generated method stub 19 closePopupWindow(); 20 return false; 21 } 22 }); 23 } 24 /*** 25 * 获取PopupWindow实例 26 */ 27 private void getPopupWindow() { 28 29 if (null != popupWindow) { 30 closePopupWindow(); 31 return; 32 } else { 33 initPopuptWindow(); 34 } 35 } 36 /** 37 * 关闭窗口 38 */ 39 private void closePopupWindow() 40 { 41 if (popupWindow != null && popupWindow.isShowing()) { 42 popupWindow.dismiss(); 43 popupWindow = null; 44 WindowManager.LayoutParams params=getActivity().getWindow().getAttributes(); 45 params.alpha=1f; 46 getActivity().getWindow().setAttributes(params); 47 } 48 }

 

转载于:https://www.cnblogs.com/jasonxcj/p/4956489.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值