今天写一个布局是碰到clipChildren=false无效的情况:

布局的代码:

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/dp12"
    android:clipChildren="false">

    <RelativeLayout
        android:layout_width="@dimen/dp140"
        android:layout_height="@dimen/dp210"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="@dimen/dp6"
        android:layout_marginTop="@dimen/dp5">    

      <TextView
            android:layout_width="@dimen/dp168"
            android:layout_height="@dimen/dp48"
            android:layout_marginLeft="-14dp"
            android:layout_marginTop="@dimen/dp12"
            android:layout_marginRight="-14dp"
            android:gravity="center" />

    </RelativeLayout>
</RelativeLayout>

clipChildren=false需要在父布局的父局部中使用,子控件大小大于父布局,刚开始并没有使用android:layout_marginLeft="-14dp" android:layout_marginRight="-14dp",发现android:clipChildren=false无效,原因是子view的宽度大于父布局的宽度,导致子view实际效果的宽度被压缩成父布局的宽度,当marginLeft和marginRight为负值时才能让实际宽度大于父布局,这样clipChildren=false才能生效

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐