layout: post
title: Android Desigin Library
date: 2015-09-05
categories: blog
tags: [Android,Desigin]
category: Android
description: 介绍Android支持库中的一些desigin相关的组件


资料参考

-Android官方文档

-Android官方博客

-Inthecheesefactory

-CodePath

1.AppBarLayout

AppBarLayout为LinearLayout的子类,不过不同的是固定是以竖直方向排列。本身实现了许多Desigin相关的特效。
通过给AppBarLayout的child设置app:layout_scrollFlags="scroll|enterAlways"
其中参数的具体意思为:

scroll - 想滚动就必须设置这个。

enterAlways - 实现quick return效果,当向下移动时,立即显示View(比如Toolbar)。如果没有设置,就必须等到该出现的时候才会出现(比如ListView滑到最顶端ToolBar才出现);

exitUntilCollapsed - 向上滚动时收缩View,但可以固定Toolbar一直在上面。

enterAlwaysCollapsed -当你的View已经设置minHeight属性又使用此标志时,你的View只能以最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。

AppBarLayout在APP上的显示大体上为如下,当然只是外面的框的部分

Android Desigin Library_第1张图片 App中的显示

上图中的阴影部分可以通过app:elevation=""来进行设置,默认为0

2.CollapsingToolbarLayout

顾名思义,可以折叠的ToolBar的布局, CollapsingToolbarLayout作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在CollapsingToolbarLayout中的控件(如:ImageView、Toolbar)在响应layout_behavior事件时作出相应的scrollFlags滚动事件(移除屏幕或固定在屏幕顶端)。
常用的属性:

contentScrim - 设置当完全CollapsingToolbarLayout折叠(收缩)后的背景颜色。

expandedTitleMarginStart - 设置扩张时候(还没有收缩时)title向左填充的距离。

layout_collapseMode (折叠模式) - 有两个值:

pin - 设置为这个模式时,当CollapsingToolbarLayout完全收缩后,Toolbar还可以保留在屏幕上。

parallax - 设置为这个模式时,在内容滚动时,CollapsingToolbarLayout中的View(比如ImageView)也可以同时滚动,实现视差滚动效果,通常和layout_collapseParallaxMultiplier(设置视差因子)搭配使用。
layout_collapseParallaxMultiplier(视差因子) - 设置视差滚动因子,值为:0~1。

当设置了layout_behavior的控件响应起了CollapsingToolbarLayout中的layout_scrollFlags事件时,ImageView会有视差效果的向上滚动移除屏幕,当开始折叠时CollapsingToolbarLayout的背景色(也就是Toolbar的背景色)就会变为我们设置好的背景色,Toolbar也一直会固定在最顶端。

具体在App中的效果可以为

Google Android Image

3.CoordinatorLayout

作为以上布局的父布局来是用,主要就是控制各个组件之间的协同处理,相互相应。

4.FloatingActionButton

在Google发布官方库之前就以及有很多的类似的组件,比如makovkastar/FloatingActionButton 和 futuresimple/android-floating-action-button
效果图为:

FAB

当然这里的动画效果是自己设置的。

5.NavigationView

使用非常的简单,看官方的实例NavigationView

6.Snackbar

SnackBar的使用方法同Toast几乎一样,但是官方说他更轻量

7.TabLayout

8.TextInputLayout

9.Behavior

在所有desigin包下面的组件都实现了自己的Behavior来相应不同的过渡效果,Behavior是整个desigin包的核心元素之一。但是要想自己的View也能相应这样的效果,就需要实现自己的Behavior,具体的方法可以在CodePath上了解。

更多相关文章

  1. Android的Actiovity组件
  2. android仿今日头条App、多种漂亮加载效果、选择器汇总、记事本Ap
  3. android仿今日头条App、多种漂亮加载效果、选择器汇总、记事本Ap
  4. Android动画效果生动有趣的通知NiftyNotification(Android Toast
  5. Android相对布局实现各种梅花效果
  6. 【源码】Android 面包屑导航效果源码、Android 各种侧边栏总结源
  7. android开机自启广播无效果的曲线解决方案

随机推荐

  1. SQL Server 分页编号的另一种方式【推荐
  2. sql server中的任务调度与CPU深入讲解
  3. SQL 在自增列插入指定数据的操作方法
  4. 使用SQL语句去掉重复的记录【两种方法】
  5. SQL Server 在分页获取数据的同时获取到
  6. sql server中死锁排查的全过程分享
  7. Sql Server 数据库中调用dll文件的过程
  8. sql server数据库高可用日志传送的方法
  9. SqlServer 获取字符串中小写字母的sql语
  10. Sql Server 如何去掉内容里面的Html标签