线性布局半透明不适用于自定义主题



我创建了一个自定义主题,它看起来像一个弹出窗口,当点击任何图标时都会出现在"活动"主菜单上方,所以这个弹出窗口看起来应该是半透明的,以获得更好的外观。

基本上主题是有效的,但半透明性不行。主题本身不能是半透明的,因为我不希望弹出的"活动"填满整个屏幕。我使用的是包含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>

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

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

最新更新