机器人:用不同的α值嵌套线性布局(Android: Nested linear layout wit

2019-07-05 06:51发布

我有一个具有一定余量,一些圆角和0.3的α值的矩形的LinearLayout。 这里面布局我有4个不同的布局为我显示在不同的位置不同的图像。

我的问题是,虽然主要布局0.3,我想我的孩子能够完全可见,或不会受到它的父α,我想知道我怎么能麻烦你了吗? 我曾尝试对孩子的布局设置的α= 1,但没有奏效。 将其设置为0时使孩子们布置消失了,所以我似乎能降低0.3以下,但没有什么母公司以上。 那是一个错误还是我做错了吗?

谢谢。

Answer 1:

其实,我想通了! 颜色是AARRGGBB,所以修改Alpha通道(AA)仅仅影响当前背景,而不是孩子! 如果有另一种解决方案,我很高兴听到这个消息。 谢谢!



Answer 2:

你可以解决你的问题, 这个解决方案。 它完美的作品。

parentView.getBackground().setAlpha(128); //your parent view's visibility is now %50 and child view's visibility remains same. 


Answer 3:

为了防止孩子认为从受着它的父背景...

真相:非-α-255“颜色”并不是一个真正的颜色 - 它仅仅是一个色彩!

因此:子视图的背景的感知外观可以是:
(a)以child.setBackgroundColor()时该颜色具有α-或255中指定的确切的颜色:
(b)中child.setBackgroundColor的复合()和以其它方式的父背景。

为了绝对控制孩子的背景(与完全无视家长),你必须因此构建的第三种颜色,这将是您选择的色调和您所选择的α-255背景的复合材料。

必须提名一个背景! (按照定义,色彩只能与背景渲染。如果没有明确指定的主题背景终将发挥作用。)

此代码花了几个月时间来寻找,并给予完美的效果。

childView.setBackgroundColor(ColorUtils.compositeColors(yourTint, yourBackground);

见我的回答我自己的问题在这里 。



Answer 4:

这可能是迟到的回答

不过,试试这个下面的代码我希望u得到什么ü需要

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/aa"    //Your own Image in root element
android:orientation="vertical" >

  <RelativeLayout
    android:id="@+id/RLMain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#CCFFFFFF" >   //Your Alpha Value

    <ImageView
        android:id="@+id/iv1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="86dp"
        android:src="#FF0000" />        //Your Child Image

</RelativeLayout>



文章来源: Android: Nested linear layout with different alpha value