android - 为什么 subview 从父布局继承 alpha 值

标签 android layout alpha

在我的应用程序中,我设置了顶层线性布局的背景图像,然后为了淡化背景,我将其 alpha 设置为 .2 但这会产生一个奇怪的问题,因为它还为布局的所有子级设置了 alpha同样,即使我在 child 中明确定义了不同的 alpha 值。

是否可以设置父级的 alpha 值而不影响子级的值?

有什么正确的方法可以在不影响 subview 的 alpha 的情况下设置顶级 View 的 alpha?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll1" 
    android:orientation="vertical"
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"
    android:gravity="center"
    android:background="@drawable/bg"
    android:alpha="0.2">
        <Button android:id="@+id/btn1" 
            android:text="Set 1"
            android:layout_width="300px"
            android:layout_height="150px" 
            android:layout_gravity="center" 
            android:background="@drawable/button1"
            android:tag="1"
            android:alpha="1"/>
        <Button android:id="@+id/btn2" 
            android:text="Set 2"
            android:layout_width="300px" 
            android:layout_height="150px" 
            android:layout_gravity="center" 
            android:background="@drawable/button2"
            android:tag="2"/>
</LinearLayout>

最佳答案

这正是它的预期工作方式。

为什么不简单地将背景可绘制对象“@drawable/bg”的 alpha 更改为 0.2?

或者,尝试使用具有以下基本结构的 FrameLayout:

<FrameLayout>
    <ImageView
        android:background="@drawable/bg" 
        android:alpha="0.2" />
    <LinearLayout>
        <Button />
        <Button />
    </LinearLayout>     
</FrameLayout>

关于android - 为什么 subview 从父布局继承 alpha 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401686/

相关文章:

Android - 仅更改 alpha TextView 的文本

android - Chrome远程调试: empty inspect tab

android - 奥利奥通知栏圆形图标

java - 如何为 Android 设置背景图片?

android - 我如何用 fragment 布局填充我的内容布局

css - 如何防止 HTML 元素相互重叠或滑动?

android - APK 不会安装 : DalvikVM cannot optimize it (Byte swap and verify fails)

html - div不并排 float

带有 CMYK + Alpha 的 WPF BitmapImage 和 TIFF

objective-c - uiimageview 上的 Alpha 蒙版渐变