当
在显示PopupWindow之后
背景颜色比原来更暗。那么,我们该如何做呢?
PopupWindow
显示时,我希望将背景变暗,就像Dolphin浏览器做的一样 -
在显示PopupWindow之前
![在显示PopupWindow之前查看背景颜色](https://istack.dev59.com/Rm5Mn.webp)
![现在查看PopupWindow显示后的背景颜色。](https://istack.dev59.com/gSYao.webp)
PopupWindow
显示时,我希望将背景变暗,就像Dolphin浏览器做的一样 -
在显示PopupWindow之前
<RelativeLayout
android:id="@+id/bac_dim_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#C0000000"
android:visibility="gone" >
</RelativeLayout>
在你的活动中创建
//setting background dim when showing popup
back_dim_layout = (RelativeLayout) findViewById(R.id.bac_dim_layout);
最后,在显示弹出窗口时使其可见,并在退出弹出窗口时使其可见消失。
back_dim_layout.setVisibility(View.Visible);
back_dim_layout.setVisibility(View.GONE);
如果我没记错的话...你可以创建一个带有ListView的Activity....并在其清单文件中将主题设置为对话框,像这样...
<activity android:theme="@android:style/Theme.Dialog" />
这将使背景变暗。
如果你的弹出窗口是一个活动,那么尝试这段代码肯定会有帮助。 在你的项目的values文件夹中创建一个mystyle.xml文件,并进行以下更改。
<resources>
<style name="customStyle" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
</resources>
在 menifest.xml 中进行此更改
<activity android:name="yourActivity" android:theme="@style/customStyle"></activity>
PopupWindow
控件而不是 Activity
。 - Rajkiranfun setBackgroundAlpha(activity: Activity, bgAlpha: Float) {
val lp: WindowManager.LayoutParams = activity.getWindow().getAttributes()
lp.alpha = bgAlpha
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
activity.getWindow().setAttributes(lp)
}
PopupWindow
变成一个活动? - Rajkiran