Creating Apps With Material Design —— Maintaining Compatibility

简介: 转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢保持兼容性如material design和自定义活动的过渡部分材料设计功能只能在Android5.0(API等级21)以上。

转载请注明 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
}

目录
相关文章
|
缓存 API 数据库
Reading:一款不错的Material Desgin风格的Kotlin版本的开源APP
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/81946831 Reading https://github.com/Hankkin/Reading 简介 很久不见,重新拾起博客吧,今天分享一个开源APP-Reading,项目的初衷是因为自己平时翻文章,但是公众号又经常忘记看,自己索性搞一个APP吧,顺便练一下Kotlin。
1407 0
|
Android开发
仿知乎app登录界面(Material Design设计框架拿来就用的TexnInputLayout)
在我脑子里还没有Material Design这种概念,就我个人而言,PC端应用扁平化设计必须成为首选,手当其冲的两款即时通讯旺旺和QQ早就完成UI扁平化的更新,然而客户端扁平化的设计本身就存在天生的缺陷,手指和鼠标箭头最大的区别是在于前者有温度和感觉的,这时候Material Design应运而生。
1613 0
|
存储 Web App开发 Android开发
基于Material Design设计的分享文字图片的APP
写在前面:这个项目是自己当时为了准备面试而做的,由于时间匆忙,水平有限,项目多多少少存在一些问题。代码的整洁性与复用性,以及整体架构的搭建都不尽人意,大家看看里面的一些效果就好。
1281 0
|
Android开发
一款基于Material Desgin设计的APP
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/50413625 源码小编已经上传到github上了,求star啊 https://github.
981 0
|
Android开发 数据格式 XML
Android Material Design TabLayout属性app:tabMode和app: tabGravity
Android Material Design TabLayout属性app:tabMode和app: tabGravity Android Material Design 中的TabLayout有两个比较有用的属性 app:tabMode、app:tabGravity, (1)app:tabMode有两个值:fixed和scrollable。
1690 0
|
XML API Android开发
Creating Apps With Material Design —— Defining Custom Animations
转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 定义动画 在材料设计动画让用户与您的应用程序进行交互时,为他们的行为提供反馈,并提供可视化的连续性。
815 0
|
Android开发
Creating Apps With Material Design —— Working with Drawables
转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 Drawable 通过可绘制了以下功能帮助您实现材料设计你的应用程序:      可绘制着色     突出的颜色提取     矢量可绘 这一课将告诉您如何使用您的应用程序这些功能。
681 0
|
Android开发
Creating Apps With Material Design —— Defining Shadows and Clipping Views
View转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 定义阴影和裁减 材料设计引入了深度的UI元素。
819 0
|
Android开发
Creating Apps With Material Design —— Creating Lists and Cards
转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 创建Lisst和Cards 在你的应用程序创建复杂的清单,并与材料设计风格卡,您可以使用RecyclerView和CardView部件。
881 0
|
Android开发 iOS开发
让你的 APP换上Material Design
转自  :http://www.jianshu.com/p/f22c0f50ac3f# 字数3293 阅读1357 评论15 喜欢60 Material Design 我的更多 android 博文,关注作者~每周更新一篇 Android干货博文http://xuyushi.github.io/archives/ 吐槽 作为一个 And
1872 0

热门文章

最新文章