最近做一个项目要将一个View显示到其父布局之外。我们经常用的就是clipChildren属性。实现方法如下:
clipChildren属性默认设置为true,要想将view显示到父布局之外,就需要clip设置为false。
注意设置clipChildren属性是在view父布局的父布局中。
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false" android:gravity="center"> <RelativeLayout android:id="@+id/main_layout" android:layout_width="100dp" android:layout_height="100dp" android:background="@color/colorPrimary"> <TextView android:layout_width="match_parent" android:layout_height="80dp" android:layout_marginLeft="-20dp" android:layout_marginRight="-20dp" android:background="@color/colorAccent" /> </RelativeLayout> </RelativeLayout>
但是存在一个问题,clipChildren属性只能作用于在xml文件中书写的View空间,如果在代码中通过addView添加的控件不能实现这个效果,最后效果如下图: