Android5.0新特性——兼容性(support)

兼容性

虽然Material Design新增了许多新特性,但是并不是所有新内容对对下保持了兼容。

使用v7包

v7 support libraries r21 及更高版本包含了以下Material Design特性:

  1. 使用Theme.AppCompat主题包含调色板主体属性,可以对应用的主题做统一的配色,但是不包括状态栏和底部操作栏
  2. RecyclerView和CardView被独立出来,只要引入jar包,即可适配7以上的所有版本。
  3. Palette类用于从图片提取主色调

系统组件

Theme.AppCompat主题中提供了这些组件的Material Design style:

  1. EditText
  2. Spinner
  3. CheckBox
  4. RadioButton
  5. SwitchCompat
  6. CheckedTextView
  7. Color Palette

创建多个value和layout

针对Android L我们可以创建value-v21指定Material Design主题,而在其他value中指定Theme.AppCompat。layout布局也可以采用该方式,在Android L中使用系统控件,在低版本中使用我们自定义的控件活着第三方包来达到该效果。

注意版本检查

以下特性只在Android 5.0 (API level 21) 及以上版本中可用:

  1. 转场动画
  2. 触摸反馈
  3. 圆形展示动画
  4. 路径动画
  5. 矢量图
  6. tint染色

所以在代码中遇上使用这些api的地方需要进行版本判断:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // 使用新特性
} else {
    // 用其他替代方式
}

第三方支持库

RippleDrawable

提供触摸反馈特效,即5.0的button按压下的水波纹效果。

  1. https://github.com/03uk/RippleDrawable
  2. https://github.com/siriscac/RippleView
  3. https://github.com/balysv/material-ripple
状态动画

https://github.com/NghiaTranUIT/Responsive-Interaction-Control

Material Design风格的对话框

https://github.com/lewisjdeane/L-Dialogs

Material Design风格兼容包

提供了不少控件特效 https://github.com/navasmdc/MaterialDesignLibrary

SystemBarTint

支持修改状态栏和底部操作栏 https://github.com/jgilfelt/SystemBarTint

时间: 2024-10-12 00:43:48

Android5.0新特性——兼容性(support)的相关文章

Android5.0 新特性学习总结

参考文章: 极客学院 –Material Design 中文版图文教程 几行代码,让你的 APP 变得花俏-Android Design Support Library 代码实验 material design 的android开源代码整理 低版本android上实现Material design应用 Android5.0版本,推出了Material Design的概念,这是在设计上Android的又一大突破.对应的程序实现上就有如 Theme.Material.Light. Theme.Mat

Android5.0新特性:RecyclerView实现上拉加载更多

RecyclerView是Android5.0以后推出的新控件,相比于ListView可定制性更大,大有取代ListView之势.下面这篇博客主要来实现RecyclerView的上拉加载更多功能. 基本思路是让RecyclerView的Adapter加载两种布局,第一个布局来显示主界面,第二个布局来显示上拉加载时的提示信息,让RecyclerView监听是否滑动到最后一个item,如果是,则调用上拉刷新的逻辑,拉取远程数据,并显示第二个布局.等加载完毕时,刷新 Adapter,并隐藏第二个布局.

使用Github依赖库实现Android5.0新特性——CardView

之前自己使用support-v7下自带的cardview实现了CardView效果.后来在github中发现了有人写好了很好的库支持,完美实现了CardView的向下兼容.不再需要support-v7,实现起来更为方便.参考的Github的主页为:https://github.com/gabrielemariotti/cardslib   .感谢博主.具体实现步骤如下: (1)在Android Studio中新建一个项目,在build.gradle(Module:app)中加入以下代码,注意是在

Kotlin实例----android5.0新特性之palette

一.Palette的使用 使用Palette可以让我们从一张图片中拾取颜色,将拾取到的颜色赋予ActionBar,StatusBar以及UI背景色可以让界面色调实现统一或者加载不同图片时同步变化色调 1.使用Palette需要添加以下依赖: implementation 'com.android.support:palette-v7:26.0.2'(Android Studio 3.0 Beta 5) 2.ImageView 中获取Bitmap对象(或者其他BItmap对象) bitmap =

Android5.0新特性——阴影和剪裁(shadow)

阴影和剪裁 View的z属性 Material Design建议为了凸显布局的层次,建议使用阴影效果,并且Android L为了简化大家的工作,对View进行了扩展,能使大家非常方便的创建阴影效果: 给View添加了一个新的属性:Z 属性,用于描述视图距离它父视图的高度: 在5.0之前,我们的视图都是二维的,只有x轴和y轴,现在,android新增了z轴.x轴和y轴描述了一个view的大小和位置,而z轴描述了view在父视图上抬起的视觉,体现效果就是阴影.下图的两个view的z属性分别为2dp和

Android5.0新特性——图片和颜色(drawable)

图片和颜色 tint属性 tint属性一个颜色值,可以对图片做颜色渲染,我们可以给view的背景设置tint色值,给ImageView的图片设置tint色值,也可以给任意Drawable或者NinePatchDrawable设置tint色值. 在应用的主题中也可以通过设置 android:tint 来给主题设置统一的颜色渲染. tint的渲染模式有总共有16种,xml文件中可以使用6种,代码中我们可以设置16种,渲染模式决定了渲染颜色和原图颜色的取舍和合成规则: PorterDuff.Mode.

Android5.0新特性——新增的Widget(Widget)

新增的Widget RecyclerView RecyclerView是ListView的升级版,它具备了更好的性能,且更容易使用.和ListView一样,RecyclerView是用来显示大量数据的容器,并通过复用有限数量的View,来提高滚动时的性能.当你的视图上的元素经常动态的且有规律的改变时候,可以使用RecyclerView控件. 与ListView不同的是RecyclerView现在不再负责布局,只专注于复用机制,布局交由LayoutManager来管理. RecyclerView仍

Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 这一章很多,但是很有趣,也是这书的最后一章知识点了,我现在还在考虑要不要写这个拼图和2048的案例,在此之前,我们先来玩玩Android5.X的新特性吧!

android 5.0新特性CardView教程

CardView 是android5.0新加入的特性,大家先别着急,由于谷歌出了cardview的兼容包,也就是android.support.v7.widget.CardView包,所以在5.0以下的系统也可以运行这个效果.什么是CardView ?就是在View的外面加上一个类似如卡片的阴影,下面放代码. <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_c