博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android support design widget 学习
阅读量:6443 次
发布时间:2019-06-23

本文共 2064 字,大约阅读时间需要 6 分钟。

  hot3.png

英文水平不高,翻译的不好敬请谅解

一、CoordinatorLayout (协调者布局)

 CoordinatorLayout is a super-powered FrameLayout。
 CoordinatorLayout 适用于两种案例:
 1.作为顶层布局;
 2.作为一个容器调度协调子布局

 通过为子view 指定Behaviors属性,CoordinatorLayout提供许多不同的交互,控件之间也可进行交换(控件需在同一父布局内)。CoordinatorLayout提供默认动画(DefaultBehavior),可以为控件直接指定默认动画。

 Behaviors 可以用来实现各种各样的交互和布局修改。可以定制自己的动画效果。

 CoordinarotLayout 子控件可能会有一一个锚点(anchor  app:layout_anchor="@id/my_appbar")。这个子控件的ID需和其他子控件ID一直,但他不能是控件本身或其子控件。它可以用来放置浮动控件相对与其他任意布局

 例:
 <android.support.design.widget.FloatingActionButton
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        app:layout_anchor="@id/my_appbar"
        app:layout_anchorGravity="bottom|right|end"
        android:src=" :drawable/ic_input_add"
        android:layout_margin="@dimen/fab_margin"
        android:clickable="true"/>

二、CollaspingToolbarLayout (可折叠工具栏布局)
 继承FrameLayout
 它是实现了可折叠工具栏的包装类,用作AppBarLayout的直接子类包含以下几个特性:
  1.可折叠标题(Collapsing title)
  该布局在展开的情况下标题显示字体较大,在折叠的情况下显示较小。通过setTitle(CharSequence)(注意不是在Toolbar 上setTitle) 并通过设置collapsedTextApperance和expandedTextApperance 属性进行标题变化显示。
  2.内容渐变效果(Content scrim)
  通过设置setContextScrim(Drawable)当界面滚动到某一阈值,实现全局内容渐变效果。
  3.状态栏渐变效果(Status ba scrim)
  通过设置setStatusBarScrim(Drawable)当界面滚动到某一阈值,实现状态栏的渐变效果,仅在SDK22(LOLLIPOP)下可用,且需设置fit system windows
  4.子控件视差滚动效果(Parallax scrolling children)
  通过设置子控件的app:layout_collapseMode="parallax"属性("pin", "parallax", "none")来控制视差显示效果。通过setParallaxMultiplier(float)来设置视差倍数效果
  5.固定子控件的位置(Pinned position children)
  通过设置子控件app:layout_collapseMode="pin" 属性,子控件可以设置为全局固定。可用于实现布局滚动,折叠效果且要求固定Toolbar时

三、AppBarLayout

AppBarLayout is a vertiacl LinearLayout (AppBarLayout是一个垂直布局的LinearLayout);

AppBarLayout是一个垂直布局的LinearLayout,它实现了Material Designs 状态栏的概念,也就是说手势滚动。

子控件可以通过setScrollFlags(int)设置用户需要的滚动行为,也可以在相应的layout 布局文件中使用 app:layout_scrollFlags。

该布局依赖CoordinatorLayout,作为直接子布局使用。如果用于其他布局,会导致大部分方法无法使用。

为了获取到界面滚动,AppBarLayout还需要一个并行的布局。需要为并行布局绑定AppBarLayout.ScrollingViewBehavior类,这意味着你需要为你滚动的界面设置一个类来代替AppBarLayout.ScrollingViewBehavior。(app:layout_behavior="@string/appbar_scrolling_view_behavior"),需指定该类的完整类名。

 

转载于:https://my.oschina.net/smuswc/blog/598411

你可能感兴趣的文章
循环、迭代、遍历和递归
查看>>
忘记mysql的root密码
查看>>
使用JavaScript 和 CSS 实现图像缩放和剪裁(转)
查看>>
我的友情链接
查看>>
Code Kata 5
查看>>
RHCE_LAB(4)GRUB提升安全性保护root密码安全
查看>>
Zabbix实现微信平台报警----基于zabbix3.0.4
查看>>
android 安全讲座第二层 使用AndBug调试Android Java Bytecode
查看>>
css3 Gradients 线性渐变
查看>>
ucfirst() 函数
查看>>
bootstrap-导航条层次的导航
查看>>
git rm使用
查看>>
xss***代码
查看>>
Python学习网站
查看>>
mybatis基础(一)
查看>>
Python的Django框架中的Context使用
查看>>
我的友情链接
查看>>
linux常用命令
查看>>
Docker在Windows系统下的安装及简单使用介绍
查看>>
CentOS用yum安装X Window
查看>>