欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android PopupWindow实现遮罩层效果

时间:2021-02-26 10:54:02|栏目:Android代码|点击:

此篇博客实现的功能是:点击界面中的图片,跳出一个PopupWindow,PopupWindow中含有相应的文字和图标,并且在显示PopupWindow的时候,背景为半透明。

看图描述:点击加号,跳出PopupWindow,其中包含三个图片,点击叉号PopupWindow消失;当PopupWindow显示的时候,背景为半透明

显示PopupWindow的代码

private void showPopupWindow() {
  View view = (LinearLayout) getLayoutInflater().inflate(R.layout.popup_window_layout, null);
  ImageView ivP = (ImageView) view.findViewById(R.id.ivP);
  ImageView ivX = (ImageView) view.findViewById(R.id.ivX);
  ImageView ivClose = (ImageView) view.findViewById(R.id.ivClose);
  LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
    LayoutParams.WRAP_CONTENT);
  ivP.setLayoutParams(params);
  ivX.setLayoutParams(params);
  ivClose.setLayoutParams(params);
  ivClose.setOnClickListener(this);
  popupWindow = new PopupWindow(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
  popupWindow.setContentView(view);
  popupWindow.setFocusable(true);
  popupWindow.setTouchable(true);
  popupWindow.setOutsideTouchable(false);
  popupWindow.showAsDropDown(ivAdd, 0, 0);
  backgroundAlpha(0.4f);
 }
private void backgroundAlpha(float f) {
  WindowManager.LayoutParams lp =getWindow().getAttributes(); 
  lp.alpha = f; 
  getWindow().setAttributes(lp);
 }

backgroundAlpha()方法用于设置PopupWindow显示后的背景半透明,参数 f 的范围是0.0~1.0,数值越大透明度越高。

源码下载

上一篇:Android 创建/验证/删除桌面快捷方式(已测试可用)

栏    目:Android代码

下一篇:Android DrawerLayout实现抽屉效果实例代码

本文标题:Android PopupWindow实现遮罩层效果

本文地址:http://www.codeinn.net/misctech/70475.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有