自定义Behavior实现底部View的平移动画

本文介绍了如何在Android 5.0中利用CoordinatorLayout和自定义Behavior为底部View添加平移动画,实现类似Toolbar的伸缩效果。通过实现NestedScrollingParent和NestedScrollingChild接口,结合RecyclerView的滚动,创建了一个可以随着内容滚动隐藏和显示的底部布局。
摘要由CSDN通过智能技术生成

自定义Behavior实现底部View的平移动画

最新在研究一些5.0的新控件,看着新控件的酷炫效果真是手痒痒恨不得一下子全吃肚子里了,奈何是个小菜,只得慢慢来了。写这个全当是做做笔记记录一下吧,方便以后使用。
说道5.0.我觉得不能不提CoordinatorLayout,通过实现NestedScrollingParent接口,配合子View实现NestedScrollingChild接口可以实现各种酷炫效果,比如说今天我们说的Toolbar的伸缩效果,我们都知道CoordinatorLayout嵌套Toolbar之后给Toolbar设置app:layout_scrollFlags=”scroll|enterAlways”,并给可以滚动的视图设置app:layout_behavior=”@string/appbar_scrolling_view_behavior”之后,Toolbar在视图滚动的时候有一个上下平移动画,如下图
这里写图片描述
现在我们的App一般都有底部导航的,既然头部可以伸缩,那如何给我们底部布局也加上一个伸缩的效果呢(平移动画),这就需要我们自定义behavior了。如图,图上底部布局是一个线性布局,需求是实现列表RecyclerView滑动的时候底部布局自动隐藏和显示
这里写图片描述

主界面xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.mteeyu.behaviordemo.MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/id_toolbar"
            android:layout_width="match_parent"
            android:minHeight="?attr/actionBarSize"
            android:layout_height="wrap_content"
            android:paddingTop="@dimen/toolbar_padding_top"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay"
            app:layout_scrollFlags="scroll|enterAlways"
            />

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_main"/>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_gravity="bottom"
        android:background="?attr/colorPrimary"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        app:layout_behavior="com.mteeyu.behaviordemo.FootBehavior"
        >

        <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值