第十二章:Android5.X 新特性详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38515203/article/details/82885034

《Android群英传》——个人读书笔记

        Google 于2014年推出了 Android5.0,现在 Android 已经出到了 9.0,显然现在写 5.0 有点迟,但因为是读书笔记,而且也有很多东西可以学习,所以依旧学习并记录。

12.1 Android 5.X UI 设计初步

  • 采用全新的设计风格——Material Design 来统一整个Android系统的界面设计风格。

12.1.1 材料的形态模拟

  • 这是 Material Design最核心 也是 改变最大 的一个设计

12.1.2 更加真实的动画

  • 可以有效的指引用户,提升用户的使用体验

12.1.3 大色块的使用

  •  

12.2 Material Design 主题

  • Material Design 三种默认主题:
@android:style/Theme.Material(dark version)
@android:style/Theme.Material.Light(light version)
@android:style/Theme.Material.Light.DarkActionBar
  • 提出了 Color Palette 的概念,让开发者可以自己设定系统区域的颜色,从而保持APP的颜色风格与系统的颜色风格相统一。

12.3 Palette

  •  

12.4 视图与阴影

  • Material Design 一个很重要的特点就是拟物扁平化。

12.4.1 阴影效果

  • 新增Z属性,对应垂直方向上的高度变化。
  • Z 由两个部分组成:elevationtranslationZ
  • elevation——静态成员,用以展示控件的高度
    translationZ——用以实现动画效果
  • 两者的关系:Z = elevation + translationZ
  • elevation 的使用:android:elevation="XXXdp"
  • 动态改变视图的高度:view.setTranslationZ(XXX);

12.5 Tinting 和 Clipping

  • 操作图像的新功能:Tinting(着色)Clipping(裁剪)

12.5.1 Tinting(着色)

  • 只需要在XML文件中配置好 tingtingMode 即可。
  • Tint 通过修改图像的Alpha遮罩来修改图像的颜色,从而达到重新着色的目的。

12.5.2 Clipping(裁剪)

  •  

12.6 列表与卡片

12.6.1 RecyclerView

  • RecyclerView 是 support-v7 包中的新组件,相比于 ListView,它同样拥有 item 回收复用的功能,而且还可以对 ViewHolder 进行封装,用户只要实现自己的 ViewHolder 就可以了,它会自动回收复用每一个 item。
  • 使用 RecyclerView 需要添加依赖。RecyclerView 的重点使用与 ListView 一样,需要一个数据适配器来加载 View。

依赖:implementation 'com.android.support:cardview-v7:26.1.0'

12.6.2 CardView

  • CardView 也是一个容器类布局,只是它提供了卡片这种样式。

注意事项:
1、需要添加依赖 implementation 'com.android.support:cardview-v7:26.1.0'
2、在布局中需要引入新的命名空间 xmlns:card_view=http://schemas.android.com/apk/res-auto

  • 两个属性:
    背景颜色:card_view:cardBackgroundColor="@color/cardview_background"
    圆角的角度:card_view:cardCornerRadius="8dp"

12.7 Activity 过度动画

  • Android5.X 提供了三种Translation类型:
    1、进入:一个进入的过渡动画决定Activity中的所有的视图怎么进入屏幕
    2、退出:一个退出的过渡动画决定Activity中的所有的视图怎么退出屏幕
    3、共享元素:一个共享元素过度动画决定两个Activities之间的过度,怎么共享它们的视图。
  • 进入和退出效果包括:
    1、explode(分解)——从屏幕中间进或出,移动视图
    2、slide(滑动)——从屏幕边缘进或出,移动视图
    3、fade(淡出)——通过改变屏幕上视图的不透明度达到添加或者移除视图
  • 共享元素包括:
    1、changeBounds——改变目标视图的布局边界
    2、changeClipBounds——裁剪目标视图边界
    3、changeTransform——改变目标视图的缩放比例和旋转角度
    4、changeImageTransform——改变目标图片的大小和缩放比例

12.8 Material Design 动画效果

12.8.1 Ripple 效果

波纹效果

// 波纹有边界
android:background="?android:attr/selectableItemBackground"
// 波纹超出边界
android:background="?android:attr/selectableItemBackgroundBorderles"
  • 波纹有边界是指波纹被限制在控件的边界中,而波纹超出边界则是波纹不会限制在控件边界中,会呈圆形散发出去。

12.8.2 Circular Reveal

  • 使用简单,主要设置几个关键点的坐标:
    1、centerX——动画开始的中心点X
    2、centerY——动画开始的中心点Y
    3、startRadius——动画开始半径
    4、endRadius——动画结束半径

12.8.3 View state changes Animation

  • StateListAnimator
  • animater-selector

12.9 Toolbar

  • Toolbar与Actionbar最大的区别就是Toolbar更加自由、更加可控。

使用Toolbar的条件:必须引入 appcompat-v7 支持,并设置主题为NoActionBar

12.10 Notification

12.10.1 基本的 Notification

  •  

12.10.2 折叠式 Notification

  • 常用于显示长文本。它拥有两个视图状态,一个是普通状态下的视图,另一个是展开状态下的视图。

12.10.3 悬挂式 Notification

  • Android5.0中新增的方式

12.10.4 显示等级的 Notification

  • Android5.X中新增的方式,将Notification分成了三个等级:
    1、VISIBILIT_PRIVATE——只有 当没有锁屏的情况下才会显示
    2、VISIBILIT_PUBLIC——任何情况下都会显示
    3、VISIBILIT_SECRET——在pin、password等安全锁和没有锁屏的情况下才能够显示

猜你喜欢

转载自blog.csdn.net/weixin_38515203/article/details/82885034
今日推荐