Design-CoordinatorLayout的使用

• 协调布局,能够协调多个布局的位置关系,可以实现让FAB上下滑动,展开或折叠ToolBar,控制View扩展收缩以及放大缩小

使用

使用需要依赖design类库

compile 'com.android.support:design:23.0.0+'

布局

<?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"

AppBarLayout会将包裹的所有子View作为一个整体的AppBar
使用它结合AppBarLayout实现向上滑动隐藏ToolBar的效果:
AppBarLayout会将包裹的所有子View作为一个整体的AppBar,有着统一的界面着色;

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.v7.widget.Toolbar
    app:layout_scrollFlags="scroll|enterAlways"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    app:title="@string/app_name"
    app:titleTextColor="#fff" />
    <android.support.design.widget.TabLayout
</android.support.design.widget.AppBarLayout>

给想滑动出范围的View设置属性,比如ToolBar:

app:layout_scrollFlags="scroll|enterAlways"

• app:layout_scrollFlags属性介绍:
scroll:表示该View可以被滑动出CoordinatorLayout的范围,所有想滚动出屏幕的view都需要设置这个flag, 没有设置这个flag的view将被固定在屏幕顶部。例如,TabLayout 没有设置这个值,将会停留在屏幕顶部
enterAlways:表示任意向下的滚动都会导致该View可见
exitUntilCollapsed:滚动退出屏幕,最后折叠在顶端,可配合minHeight使用,当达到minHeight的时候固定
enterAlwaysCollapsed:当你的视图已经设置minHeight属性又使用此标志时,你的视图只能以最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度

给发出滑动行为的View设置属性,比如ViewPager:
app:layout_behavior="@string/appbar_scrolling_view_behavior"

<android.support.v4.view.ViewPager
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容