栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

当显示PopupWindow时如何设置透明度

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当显示PopupWindow时如何设置透明度

在android中展示PopupWindow时设置透明背景的流程:

1、点击view,更改view的状态(展示状态),然后弹出popwindow。弹出popwindow的同时,设置背景为半透明。

2、操作或查看后关闭,关闭的同时回复view状态(原始状态),同时设置背景为不透明状态。

例子:

  private MyPopupWindow popupWindow;
   private void showPopupWindow(int type) {
        if (popupWindow != null && popupWindow.isShowing()) {
            popupWindow.dismiss();//如果正在显示,关闭弹窗。
        } else {
           changeViewColor(type, true);//设置弹出时点击按钮状态
           backgroundAlpha(0.8f);//设置弹出时背景半透明
            popupWindow = new MyPopupWindow(this, line, type);//line 表示在哪个view下面显示
            popupWindow.setMyPopupWindowLisenter(presenter);//设置popupwindow的回调
            popupWindow.initData(dataList);//初始化popupwindow数据
            popupWindow.setonDismissListener(new PopupWindow.onDismissListener() {//监听释放popupWindow
                @Override
                public void onDismiss() {
                    changeViewColor(type, false);//恢复按钮状态
                    backgroundAlpha(1f);//恢复不透明
                  }
            });
        }
    }
    private void backgroundAlpha(float f) {//透明函数
        WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.alpha = f;
        getWindow().setAttributes(lp);
    }

此应用的缺点:

显示弹出popupwindow的时候,整个背景色都是半透明。

如果想让popupwindow上半部分透明,下半部分不透明,需要修改popupwindow的布局,添加半透明填充view,如下:

代码:




    

    

    


关于:

编者:李国帅

qq:9611153 微信lgs9611153

时间:2021-12-11  

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/658649.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号