Android 5.0新控件学习知识总结

来源:互联网 发布:杰克尼科尔森 知乎 编辑:程序博客网 时间:2024/06/05 21:09

Android 5.0新控件学习知识总结01

1.colorPrimary/colorPrimaryDark/colorAccent的作用

在AppTheme下一般会有以下几个item存在,比如:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">        <!-- Customize your theme here. -->        <item name="colorPrimary">@color/primary</item>        <item name="colorPrimaryDark">@color/primary_dark</item>        <item name="colorAccent">@color/accent</item>    </style>

那么,他们各自的作用是什么呢?我们怎么使用呢?先看下下面的这张图片:
AppTheme Color

今天在模仿一个页面主题的时候,要实现这么一个效果,就是上方的toolBar和statusBar的颜色实现一个由深到浅的转变,如下图所示:

这样我们就需要使用到colorPrimaryDark和colorPrimary进行颜色设置即可完成.

2.Toolbar颜色主题设置

android 5.0后可以给view设置theme,该空间及其子控件都会受到其影响.常见的有:

  • @style/ThemeOverlay.AppCompat.Dark.ActionBar-白色字体

    • 用在theme上即toolbar上,字体会白色
    • 用在app:popupTheme上,即overflow上,则为黑底白字
  • @style/ThemeOverlay.AppCompat.Light-黑色字体

    • 用在theme上即toolbar上,字体会黑色
    • 用在app:popupTheme上,为白底黑字

3.?attr/colorPrimaryDark的含义

如下所示:

android:background="?attr/colorPrimaryDark"

那么?到底是什么含义呢?

其指的是引用主题的相关属性,其会随着主题颜色的改变而改变.其和@的区别如下:

  • @color是我们平时最常用的,就是指定资源,不是动态的,不会随着主题变化
  • ?attr叫做预定义样式,属性值会随着主题的变化而变化

4.elevation属性的作用

新增的属性,使用dp为单位,设置该组件“浮”起来的高度,从而实现3D效果.

5.layout_scrollFlags属性一览

layout_scrollFlags经常定义于CoordinatorLayout空间的第一个孩子,例如Toolbar,实现一些有意思的动画效果.其有以下属性值

  • scroll:只有设置了scroll属性的childView才能随着屏幕的滑动而滑动出界面,必须定义在第一个childView上
  • enterAlways:快速返回模式,也就是说当我们的手指向下滑动的时候,toolbar会立即向下显示出来,不论scroll当前是否处于什么位置
  • enterAlwaysCollapsed:类似enterAlways模式,一般配合最小高度使用,当向下滑动时,toolbar先滑动到最小高度,然后当scroll到达边界后,才继续滑动到最大.
  • exitUntilCollapsed:向上滑动时,不会完全退出屏幕,当toolbar滚动到最小高度后,scroll才会进行滚动
  • snap:类似viewpager的弹性作用

引用自:
http://www.jianshu.com/p/7caa5f4f49bd

0 0