关于Android中View显示到父布局之外

 最近做一个项目要将一个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添加的控件不能实现这个效果,最后效果如下图:


展开阅读全文

没有更多推荐了,返回首页