本文实例为大家分享了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); //隐藏蒙板
您可能感兴趣的文章:android 添加随意拖动的桌面悬浮窗口Android实现类似360,QQ管家那样的悬浮窗Android中悬浮窗口的实现原理实例分析android编程实现悬浮窗体的方法Android实现桌面悬浮窗、蒙板效果实例代码