本文实例为大家分享了Android实现蒙板效果的相关代码,供大家参考,具体内容如下
1、不保留标题栏蒙板的实现
效果:
原理:
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、保留标题栏蒙板的实现
效果:
原理:
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); //隐藏蒙板
以上就是本文的全部内容,希望对大家的学习有所帮助。