Creating Apps With Material Design —— Maintaining Compatibility

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢

保持兼容性

如material design和自定义活动的过渡部分材料设计功能只能在Android5.0(API等级21)以上。不过,你可以设计你的应用程序在支持材料设计,仍然与设备运行的是Android的早期版本兼容的设备上运行。

定义可替换的风格

你可以配置你的应用程序使用的材料主题在支持它,并恢复到运行早期版本的Android设备较旧的主题设备:

定义一个主题,继承了旧的主题(如全息)在res/values/styles.xml下。
    在res/values-v21/styles.xml中定义与继承材料主题同名的主题。 
    在manifest文件中确立这个主题作为您的应用程序的主题。

注意:如果您的应用程序使用的材料主题,但并没有提供以这种方式替代的主题,你的应用程序将无法在Android版本上运行早于5.0。

提供可供选择的布局

如果你按照设计准则不使用任何的Android5.0(API级别21)推出了新的XML属性的材料设计的布局,他们将无法工作在Android的早期版本。但是,你可以提供另一种布局。您也可以提供另一种布局,以自定义您的应用程序看起来在较早版本的Android。

创建你的布局文件为Android5.0(API级别21)内res/layout-v21/和你选择的布局文件中的res/layout/早期版本的Android。例如,res/layout/my_activity.xmles/layout-v21/my_activity.xml另一种布局。

为了避免重复代码,里面定义你的styles,修改样式res/values-v21/使用新的API和使用风格的继承,限定在基本样式res/values/和那些继承res/values-v21/

使用支持库

在V7支持库R21及以上包含以下材料设计特点:

当你申请材料的设计风格作用于某些系统部件的Theme.AppCompat主题。 
    在Theme.AppCompat主题的Color palette的主题属性。 
    该RecyclerView widget中显示的数据集合。 
    在CardView小部件创建卡。 
    Color palette类从图像中提取突出的颜色。

系统部件

该Theme.AppCompat主题提供材料的设计风格于:

EditText
Spinner
CheckBox
RadioButton
SwitchCompat
CheckedTextView

Color Palette

为了获得材料的设计风格和自定义调色板与Android V7支持库,应用的Theme.AppCompat主题:

<!-- extend one of the Theme.AppCompat themes -->
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
    <!-- customize the color palette -->
    <item name="colorPrimary">@color/material_blue_500</item>
    <item name="colorPrimaryDark">@color/material_blue_700</item>
    <item name="colorAccent">@color/material_green_A200</item>
</style>

Lists and Cards

该RecyclerView和CardView小部件都可以在通过Android V7支持库的这些限制来应用于较早版本的Android:

CardView falls back to a programmatic shadow implementation using additional padding。 
    CardView不夹与圆角相交,其children views。

依赖关系

要使用Android的早于5.0(API级别21)版本的这些特性,包括了Android V7支持库中的项目作为一个gradle依赖性:

dependencies {
    compile ‘com.android.support:appcompat-v7:+‘
    compile ‘com.android.support:cardview-v7:+‘
    compile ‘com.android.support:recyclerview-v7:+‘
}

Check System Version

以下功能仅适用于Android的5.0(API等级21)以上:

Activity transitions
Touch feedback
Reveal animations
Path-based animations
Vector drawables
Drawable tinting

为了保持与早期版本的Android的兼容性,在运行时调用的API来检查系统版本:

// Check if we‘re running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // Call some material design APIs here
} else {
    // Implement this feature without material design
}

时间: 2024-10-26 05:59:23

Creating Apps With Material Design —— Maintaining Compatibility的相关文章

Material Design系列第一篇——Creating Apps with Material Design

Creating Apps with Material Design Material design is a comprehensive guide for visual, motion, and interaction design across platforms and devices. To use material design in your Android apps, follow the guidelines described in the material design s

Creating Apps With Material Design —— Defining Custom Animations

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出.谢谢 定义动画 在材料设计动画让用户与您的应用程序进行交互时,为他们的行为提供反馈.并提供可视化的连续性. 该材料的主题提供了一些默认的动画button和活动过渡,而Android5.0(API等级21)以上,您能够自己定义这些动画和创建新的: 触摸反馈     通告显示     活动转变     曲线运动     视图状态更改 自己定义触摸反馈

Creating Apps With Material Design —— Using the Material Theme

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 使用Material主题 这种新材料的主题为: 可以让你设置自己的自定义color palette 要自定义主题的基础颜色,以适应你的品牌,使用的时候,你从材料主题主题继承属性定义自定义颜色: 系统部件 触摸反馈的动画为系统部件 Activity过渡动画 您可以根据一个color palette,你控制你的品牌形象定制的材料主题的外观.您可以

Creating Apps With Material Design —— Creating Lists and Cards

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android.时间仓促,有翻译问题请留言指出,谢谢 创建Lisst和Cards 在你的应用程序创建复杂的清单,并与材料设计风格卡.您能够使用RecyclerView和CardView部件. 创建RecyclerView 该RecyclerView widget是ListView中的更先进,更灵活的版本号.这个小工具是一个容器.用于显示.能很有效地维护了意见数量有限,滚动大的数据集. 当你有收集

Creating Apps With Material Design —— Defining Shadows and Clipping Views

View转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 定义阴影和裁减 材料设计引入了深度的UI元素.深度帮助用户了解每一个元素的相对重要性.以及集中注意力于手头的任务. 一个视图.通过Z属性表示的Elevation,决定了它的影子的大小:具有较高的Z值的View蒙上更大的阴影.浏览次数仅仅投射阴影在Z=0平面上;他们不投在以下放置它们和上面的Z =0平面的其它意见的阴影. 具有较高的Z值

Creating Apps With Material Design —— Working with Drawables

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 Drawable 通过可绘制了以下功能帮助您实现材料设计你的应用程序: 可绘制着色     突出的颜色提取     矢量可绘 这一课将告诉您如何使用您的应用程序这些功能. 可调色的Drawable资源 采用Android5.0(API等级21)以上,则可以着色定义为透明遮罩位图和nine-patches图.您可以调整它们的色彩资源或主题属性,

Android Material Design-Creating Apps with Material Design(用 Material Design设计App)-(零)

转载请注明出处:http://blog.csdn.net/bbld_/article/details/40400031 翻译自:http://developer.android.com/training/material/index.html 前言 这篇文章是官方material design文档翻译的第一篇.关于material design须要了解的知识能够參阅这本中文版的译文电子书. Material design是一种跨平台的为了视觉.动作.交互设计的综合指南.要在你的Android应用

一大波Material Design干货来袭

什么是Material Design 据谷歌介绍,Material Design基于"真实的触感,灵感源自对纸和墨水的研究," 能够让用户 "理解那些用于替代真实世界的可视线索,""而又不违背力学原理."另外,光线.表面和移动的基本原理是表现对象如何移动.交互和相互关联地存在于空间中的关键.逼真的光影效果可以显示区块间的接缝.划分空间.以及标识移动的部件. Material Design在动画.风格和布局方面提出了一系列的原则,并且为大量的视觉组

Material Design设计规范

下面的内容是在<移动互联网沙龙开年篇>做的一点分享,关于Material Design设计规范相关的. 作为技术开发者需不需要了解设计规范?个人认为非常需要,一个交流的需要,另一就是了解相关的设计才能储备相应地知识,知道UI开发的方向.这问题非常希望读者能留言讨论. Android的设计风格变迁可以划分到三个时代: 1.无序时代 2.Holo theme 3.Material Design 无序时代 无序时代是没有Android设计规范的.无序时代的Android应用设计主要是参考的iOS的设