android:clipChildren 被遗忘的神奇属性

在说clipChildren属性之前首先看一个效果图

做出这种效果图你能想到的方式是什么呢?用RelativeLayout?我以前就是这么干的

其实有个更好的方法,只要用了这个神奇的属性后这个效果很容易就可以实现,下面是这个属性的注意点:
1、只需在根节点设置android:clipChildren为false即可,默认为true,注意:一定是在布局文件的根节点设置,否则不起作用。
2、可以通过android:layout_gravity控制超出的部分如何显示。
3、android:clipChildren的意思:是否限制子View在其范围内,我们将其值设置为false后那么当子控件的高度高于父控件时也会完全显示,而不会被压缩。

下面是布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:background="@color/colorAccent">

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="@color/colorPrimary"
        android:layout_weight="1">
    </android.support.v4.view.ViewPager>
    <LinearLayout
        android:layout_width="match_parent"
        android:background="#ffffff"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:layout_height="30dp">
        <ImageView
            android:layout_width="0dp"
            android:layout_height="30dp"
            android:src="@mipmap/ic_launcher"
            android:layout_weight="1"/>
        <ImageView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_gravity="bottom"
            android:src="@mipmap/ic_launcher"
            android:layout_weight="1"/>
        <ImageView
            android:layout_width="0dp"
            android:layout_height="30dp"
            android:src="@mipmap/ic_launcher"
            android:layout_weight="1"/>
    </LinearLayout>
</RelativeLayout>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值