我有一个问题,我正在展示一个活动,而不是另一个具有透明背景的活动,但我希望在昏暗的背景下显示相同的活动。我怎样才能做到这一点?
答案 0 :(得分:18)
以下是完整的代码:
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.dimAmount = 0.75f;
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
getWindow().setAttributes(layoutParams);
在夸大布局后立即放置此代码。
答案 1 :(得分:4)
在drawable文件夹名称下创建一个xml,如window_dim.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#000000" />
</shape>
将xml中的主布局属性设置为以下 -
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLayout"
...
android:foreground="@drawable/window_dim"
android:orientation="vertical"
... >
在活动中将主要布局设置为以下 -
mainLayout.getForeground().setAlpha(180);
答案 2 :(得分:2)
试试这个:
WindowManager.LayoutParams wp = getWindow().getAttributes();
wp.dimAmount = 0.75f;