不能得到clipChildren = false属性工作

我有一个黄色的RelativeLayout包含一个较高的红色LinearLayout

为了使整个LinearLayout可见,我设置了android:clipChildren="false" ,但是这不能按预期工作:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="44dp" android:background="#FFFF00" android:clipChildren="false" > <LinearLayout android:layout_width="50dp" android:layout_height="100dp" android:background="#FF0000" android:orientation="vertical" > </LinearLayout> </RelativeLayout> 
  • android:clipChildren="true"

在这里输入图像说明

与预期的红色LinearLayout剪辑

  • android:clipChildren="false"

在这里输入图像说明

LinearLayout高度被裁剪的位置,并且在布局中设置的宽度不受尊重。

怎么了?

编辑

如果我包装容器在一个LinearLayout的两个尺寸匹配它的父母,我得到相同的结果(我检查了LinearLayout容器的容器填充整个屏幕)。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:layout_height="44dp" android:background="#FFFF00" android:clipChildren="false" > <LinearLayout android:layout_width="50dp" android:layout_height="100dp" android:background="#FF0000" android:orientation="vertical" > </LinearLayout> </RelativeLayout> </LinearLayout> 

编辑2

如果我在父LinearLayout中放置android:clipChildren="false"属性,我得到以下内容:

在这里输入图像说明

Solutions Collecting From Web of "不能得到clipChildren = false属性工作"

也设置

 android:clipToPadding="false" 

旁:

 android:clipChildren="false" 

android:clipChildren="false"允许每个孩子在父亲的范围之外绘制自己的边界。 它不允许孩子在父母之外画画。 为此,您需要在祖父母上设置android:clipChildren="false" (以及)。

我认为你看到的颜色只是因为颜色没有固有的界限。 如果没有什么东西在裁剪,颜色就会永远消失。 我的理论是,如果你使用拉伸的1×1像素而不是颜色,事情就会不同了。