当AlertDialog弹出后,不居中其余的部分会变灰,但是popupwindow是不具有这个属性的,最终终于在google上找到了解答,也体会到了英文文档的帮助力量,下面贴出效果图和代码
实现的原理:使用两个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();
}
});
至此功能已经实现