clipChildren这个属性不常用,但是有些时候也会用到,使用起来很方便的,先附上一张自己做的小demo看下样式效果
底部中间突出的部分就是用这个属性来实现的,在一些APP中会有这种效果,下面我们来看下布局文件
<?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:clipChildren="false"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="49dp"
android:layout_gravity="bottom"
android:background="@color/white">
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@color/blue"
android:layout_weight="1"/>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@color/colorAccent"
android:layout_weight="1"/>
<ImageView
android:layout_width="66dp"
android:layout_height="66dp"
android:layout_gravity="bottom"
android:background="@color/white"
android:src="@mipmap/start"/>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@color/gray_lite"
android:layout_weight="1"/>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@color/black"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
说明:只需在布局的最外层设置android:clipChildren="false"即可,默认为true;
clipChildren的意思是 是否限制子View在其范围内。
然后再通过设置android:layout_gravity="" 来设置超出部分如何显示。此布局设置的是android:layout_gravity="bottom"