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-24 18:44:58

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

Creating Apps With Material Design —— Defining Custom Animations

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 定义动画 在材料设计动画让用户与您的应用程序进行交互时,为他们的行为提供反馈,并提供可视化的连续性.该材料的主题提供了一些默认的动画按钮和活动过渡,而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 —— Working with Drawables

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

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值

网易新闻安卓客户端MATERIAL DESIGN实战

  项目背景 网易新闻安卓版一直以来照搬IOS版的交互和视觉,这在一定程度上保持了不同平台上应用风格和用户体验的一致性,也相应的减少了设计和开发的人力成本.市面上的大部分移动应用也是如此.所以,一直以来给用户的感觉是Android没有独立鲜明的视觉风格,但是事实并非如此.不久前Google推出AndroidL系统,视觉语言Material design也相应诞生.Google为设计师提供了一套完整的官方交互视觉设计指引,扁平化.华丽又稳重的色彩,将卡片的功能发挥到极致. 以此为契机,网易新闻也尝

Material Design学习之 Button(详细分析,传说中的水滴动画)

转载请注明出处:王亟亟的大牛之路       上一篇大致介绍了Material Design的一些基本概念传送门:http://blog.csdn.net/ddwhan0123/article/details/50541561 这一片来具体学习下里面的内容,这篇分为两部分一部分是原理分析,一部分是代码分析. 先简要的介绍一些理论知识,顺便温顾下基础知识 按钮 按钮由文字和/或图标组成,文字及图标必须能让人轻易地和点击后展示的内容联系起来. 主要的按钮有三种: 悬浮响应按钮(Floating ac

Google发布了新版Material Design动效指南

  Material Motion 在Material Design的世界中,动效用一种优雅.流动的方式来描述空间关系.功能.和意向. 为什么说动效很重要? 动效可以向我们展示一个app是如何构成和用途. 动效可以做到: ● 不同视图之间的焦点引导 ● 当用户完成了一个手势后,提示用户将会发生什么 ● 明确元素之间的层级和空间关系 ● 当程序在后台运行时,分散用户的注意力(例如获取内容或载入下一个视图) ● 润色整个app:个性化.令人愉悦 如何制作材料设计的动效? 材料设计的运动吸取了一些真实

MATERIAL DESIGN只是独辟蹊径,并未全面胜出

  Material Design发布之时,Google在设计领域做出的努力令我印象深刻.在这方面Apple一度遥遥领先.这种局面结束了.记得我以前总抱怨 Android设计的那套不统一.缺乏文档.缺乏吸引力的暗色主题,还有模棱两可的汉堡菜单的滥用.Material Design解决了其中很多问题.如今它提供了一套统一的设计语言,更明亮.色彩丰富,并且背后有深思熟虑的设计指南作为坚实支撑. 但是尽管它色彩漂亮,卡片的使用提供了强烈的纵深感与操纵感.我时常扪心自问,这真的像许多设计师说的那样,比A