android - 仅将 alpha-transparency 设置为布局而不是其子级

标签 android android-layout alpha-transparency

我发现了这个问题,我也遇到了几乎同样的问题。我如何将 alpha 仅应用于相对布局而不应用于其子布局?有人可以帮忙吗?

I have a rectangular LinearLayout that has some margin, some round corners and an alpha value of 0.3. Inside this layout I have 4 different layouts as I display different images in different positions. My issue is that although the primary layout is 0.3, I want my child to be fully visible, or not affected by it's parent alpha, and I am wondering how I can please do that please? I have tried setting alpha=1 on the children layouts but it did not work. Setting it to 0 does make the children layout disappear though, so it seems I can reduce below 0.3 but not anything above the parent. Is that a bug or am I doing it wrong please? Thank you.

最佳答案

您可以使用 FrameLayout 代替设置父级的 alpha 并首先设置背景图像并设置该子级的 alpha。例如

而不是使用这个

<LinearLayout 
        android:background="@drawable/background" 
        android:alpha="0.3" >
    <LinearLayout>
        <Button />
        <Button />
    </LinearLayout>     
</LinearLayout >

用这个

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

关于android - 仅将 alpha-transparency 设置为布局而不是其子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15392897/

相关文章:

android - 如何识别ActionMode中是否点击了Done按钮

android - 在多个设备上同步播放音乐

android - 为自定义 ActionBar 按钮实现 OnClick 方法

android - 有没有办法使用 XML 设置可绘制的 Alpha?

opengl - 将透明纹理渲染到 glTexture

java - 合并调试资源失败

android - 错误 : The specified child already has a parent. 您必须先在 child 的 parent 上调用 removeView()

java - 安卓应用开发: How do change content on screen depending on event

java - 动态添加LinearLayout到ListView中

Android Opengl 2.0 Alpha 混合问题 - 半透明纹理