PopupWindow 实现 弹出后 其余部分变灰(类似dialog)

当AlertDialog弹出后,不居中其余的部分会变灰,但是popupwindow是不具有这个属性的,最终终于在google上找到了解答,也体会到了英文文档的帮助力量,下面贴出效果图和代码

PopupWindow 实现 弹出后 其余部分变灰(类似dialog)_第1张图片

实现的原理:使用两个popupwidow 其中第一个适用于覆盖全局的dummy_popupwindow 其布局代码如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:id="@+id/fadePopup"
    android:background="#AA000000">
</LinearLayout>

然后另一个需要的popupwindow 正常显示就可以,但是要复写OnDismissListener中的onDismiss()方法,这样方便两个popupwindow同时消失,代码如下

popup.setOnDismissListener(new OnDismissListener() {
			@Override
			public void onDismiss() {
				dummy_popup.dismiss();
			}
		});

至此功能已经实现

你可能感兴趣的:(背景,PopupWindow,变灰)