Android PopupWindow实现遮罩层效果

作者:carter_yu 时间:2022-02-04 13:28:46 

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

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

Android PopupWindow实现遮罩层效果

Android 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,数值越大透明度越高。

源码下载

来源:https://blog.csdn.net/carter_yu/article/details/50687982?utm_source=blogxgwz1

标签:Android,PopupWindow,遮罩层
0
投稿

猜你喜欢

  • Android 仿京东、拼多多商品分类页的示例代码

    2023-05-02 13:55:30
  • Springboot Session共享实现原理及代码实例

    2022-12-16 03:29:52
  • 在编码时如何使用\\r与\\n,两者的区别

    2023-04-08 11:19:00
  • Android Studio打包.so库到apk中实例详解

    2022-06-25 19:19:25
  • Android RecyclerView 上拉加载更多及下拉刷新功能的实现方法

    2021-10-06 22:37:24
  • C#遍历操作系统下所有驱动器的方法

    2022-06-29 09:12:14
  • android 中 webview 怎么用 localStorage

    2023-04-28 04:38:36
  • Java中Class类的作用与深入理解

    2021-12-03 16:21:58
  • flutter实现appbar下选项卡切换

    2023-06-21 13:35:24
  • 详解关于SpringBoot的外部化配置使用记录

    2023-08-10 03:54:54
  • Springboot项目全局异常统一处理案例代码

    2021-08-26 10:51:19
  • Java反射机制的学习总结

    2022-08-30 07:20:39
  • JMeter中的后端监听器的实现

    2022-07-24 17:58:35
  • java控制台实现学生信息管理系统

    2023-11-29 02:05:20
  • 如何在Redis中实现分页排序查询过程解析

    2022-04-13 12:08:15
  • mybatis输出SQL格式化方式

    2021-06-18 18:19:45
  • Java设置PDF有序和无序列表的知识点总结

    2022-04-18 03:29:27
  • Java中Lambda表达式的进化之路详解

    2023-04-19 21:17:42
  • 通过源码角度看看AccessibilityService

    2023-07-25 09:31:43
  • Java中重载与重写的对比与区别

    2021-08-29 13:22:31
  • asp之家 软件编程 m.aspxhome.com