欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现蒙板效果

程序员文章站 2024-02-26 22:54:16
本文实例为大家分享了android实现蒙板效果的相关代码,供大家参考,具体内容如下 1、不保留标题栏蒙板的实现 效果: 原理: 1、弹窗时,设置背景窗体的透明度...

本文实例为大家分享了android实现蒙板效果的相关代码,供大家参考,具体内容如下

1、不保留标题栏蒙板的实现

效果:

Android实现蒙板效果

原理:

1、弹窗时,设置背景窗体的透明度
2、取消弹窗时,恢复背景窗体的透明度

关键代码:

private void popupwindows(list<string> list){
  //产生背景变暗效果
  windowmanager.layoutparams lp=getwindow().getattributes();
  lp.alpha = 0.4f;
  getwindow().setattributes(lp);

    ......省略号......

  mpopupwindow.setondismisslistener(new popupwindow.ondismisslistener() {
      @override
      public void ondismiss() {
        windowmanager.layoutparams lp = getwindow().getattributes();
        lp.alpha = 1f;
        getwindow().setattributes(lp);
      }
    });

   ......省略号......

}

2、保留标题栏蒙板的实现

效果:

Android实现蒙板效果

原理

1、根据需求,设置蒙板布局大小。
2、弹窗时,显示蒙板布局
2、取消弹窗时,隐藏蒙板布局

关键代码:

1、蒙板布局实现:

<!-- popup蒙板 -->
<linearlayout
  android:id="@+id/ll_popup_hide"
  android:layout_width="match_parent"
  android:background="@color/hide_bg"
  android:orientation="vertical"
  android:layout_height="match_parent">
</linearlayout>

<color name="hide_bg">#88323232</color>

2、代码处理

ll_popup_hide.setvisibility(view.visible); //显示蒙板
ll_popup_hide.setvisibility(view.invisible); //隐藏蒙板

以上就是本文的全部内容,希望对大家的学习有所帮助。