Android 忽略父视图背景?

Android 忽略父视图背景?,android,android-layout,alpha-transparency,Android,Android Layout,Alpha Transparency,在现实世界中,示例控制面板布局(如下)显示在其自己的框架布局(片段容器)中,并且(取决于应用程序是否在平板电脑上运行)与地图一起,地图的颜色由“颜色”按钮触发的颜色选择器设置。(注意:地图和控制面板有不同的背景。) 从colorpicker返回时,关联的贴图粒子和按钮背景将更新为新颜色 其想法是(用户观察到)按钮的颜色与地图完全匹配 当然,事实并非如此!(除非拾取的颜色具有255 alpha) 我知道这是“预期行为”,但是否有一个聪明(或“黑客”)的把戏可以抹去父背景(仅在按钮子按钮后面),从而

在现实世界中,示例控制面板布局(如下)显示在其自己的框架布局(片段容器)中,并且(取决于应用程序是否在平板电脑上运行)与地图一起,地图的颜色由“颜色”按钮触发的颜色选择器设置。(注意:地图和控制面板有不同的背景。)

从colorpicker返回时,关联的贴图粒子和按钮背景将更新为新颜色

其想法是(用户观察到)按钮的颜色与地图完全匹配

当然,事实并非如此!(除非拾取的颜色具有255 alpha)

我知道这是“预期行为”,但是否有一个聪明(或“黑客”)的把戏可以抹去父背景(仅在按钮子按钮后面),从而正确呈现子背景颜色

控制面板布局和代码示例

<LinearLayout android:id="@+id/settingsLL"
    android:orientation="vertical">
    <LinearLayout android:id="@+id/oneOfMany"
        android:orientation="horizontal">
        <TextView style="@style/wptedit_title" android:text="[some title]" />
        <Button style="@style/wptedit_color" android:id="@+id/colorBtn" />
    </LinearLayout>
</LinearLayout> 

// Control panel background
settingsLL.setBackgroundColor(0xFFD5FFDD);      
// Faint red tint gives desired map background not reflected by button
colorBtn.setBackgroundColor(0x04FF0000);        

//控制面板背景
设置所有设置背景颜色(0xFFD5FFDD);
//淡红色调提供按钮未反射的所需地图背景
colorBtn.setBackgroundColor(0x04FF0000);

一个更好的问题是:

如何将地图的alpha-255背景色与任何其他颜色组合,以生成新的alpha-255颜色,然后将其应用于控制面板按钮,从而使控制面板按钮的外观与地图完全对应,而不考虑控制面板背景

到目前为止,一切都很好!(参见android.support.v4.graphics.ColorUtils)

请参阅文档。 源代码不在我的SDK中。我必须得到它

colorBtn.setBackgroundColor(ColorUtils.compositeColors(pickedColor, mapBackgroundColor);