LinearLayout半透明不适用于自定义主题

时间:2013-07-04 08:41:54

标签: android android-linearlayout android-theme translucency

我创建了一个类似于弹出窗口的自定义主题,当点击任何图标时出现在主Activity菜单上方,所以这个弹出窗口看起来应该是半透明的,以便更好看。

基本上这个主题有效,但半透明却没有。主题本身不能是半透明的,因为我不希望弹出的Activity填满整个屏幕。我使用包含LinearLayout的ScrollView。此布局具有边距,因此不会填满整个屏幕。但这种布局的半透明效果不起作用。它只是黑色。为什么会这样?

主题:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.Dialog" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:background">@null</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">true</item>
    </style>
</resources>

xml的弹出活动:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@null">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_margin="5dp"
        android:background="#AA000000">

        //...more content //
    </LinearLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:0)

我自己找到了答案。我需要在我的主题中添加另一个项参数以使透明度正常工作:

<item name="android:windowBackground">@android:color/transparent</item>