从活动中透明未使用的布局

时间:2014-01-16 20:09:00

标签: android android-layout android-activity

除了我的主要活动之外,我还需要我所有剩余的活动都不是全尺寸的。因此,在每个onCreate上运行以下代码段:

final Display display = getWindowManager().getDefaultDisplay();
final Point size = new Point();
display.getSize(size);

final WindowManager.LayoutParams params = getWindow().getAttributes();
params.height = (int) (size.y * 0.6);  
params.width = (int) (size.x * 0.9);

这是正常的,活动窗口调整大小并在屏幕中居中,所以现在我将此活动放在顶部,主要活动(在第二天开始)在后台 - 但即使这个活动的尺寸较小,其余未使用屏幕布局完全不透明。

我的目标是让第二个窗口的未使用空间透明,或至少模糊,我知道这是用setAlpha属性制作的,但是我无法弄清楚如何将它设置为未使用的我的第二次活动的布局。

视觉上,我的意思是这种效果:

Transparent background

怎么做?这甚至可能吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

如果您将Dialog样式应用于Activity,则应该以更少的麻烦来获得您正在寻找的效果。

答案 1 :(得分:1)

将以下主题应用于manifest.xml文件中的第二个Activity:

<style name="TransparentTheme" parent="android:Theme.Light">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:backgroundDimEnabled">true</item>
</style>

的AndroidManifest.xml:

<application>
<activity
        android:name="second Activity"
        android:theme="@style/TransparentTheme" >
</activity>
</application>

答案 2 :(得分:0)

您可以使用android:Theme.Dialog样式进行活动。

manifest.xml 文件中更改它:

<activity android:theme="@android:style/Theme.Dialog">
活动文件中以编程方式

setTheme(R.style.Theme_Large);