我们正在重新设计我们的 Android 应用程序,考虑到即将推出的 Android L 平台及其材质风格,出现了一个问题:支持旧设备的方式是什么?这种新设计在 4.x 设备上可以接受吗?
根据Android Material Design 兼容性文档 http://developer.android.com/preview/material/compatibility.html
我将在这里重新整理这些材料,以防链接被删除(很可能在不久的将来)。
对于材料主题
Material 主题仅在 Android L Developer 中可用
预览。配置您的应用程序以在设备上使用材质主题
在设备上运行 Android L 开发者预览版和旧主题
运行早期版本的 Android:
定义一个继承自旧主题(如 Holo)的主题
res/values/styles.xml。定义一个同名的主题继承
来自 res/values-v21/styles.xml 中的材质主题。设置这个主题
作为清单文件中应用程序的主题。
至于布局
如果您根据材料设计设计的布局
指南不使用 Android L 中的任何新 XML 属性
开发者预览版,它们将适用于以前版本的 Android。
否则,您可以提供替代布局。您还可以提供
用于自定义应用程序早期外观的替代布局
Android 版本。
为 Android L 开发者预览版创建布局文件
res/layout-v21/ 以及早期版本的替代布局文件
Android 的 res/layout/ 里面。替代布局具有相同的文件
姓名。
为了避免重复代码,请在 res/values/ 中定义样式
并修改 res/values-v21/ 中新 API 的样式。
对于 UI 小部件
RecyclerView 和 CardView 小部件包含在 Android L 中
开发者预览版支持库,因此它们可以在更早的版本中使用
具有以下限制的 Android 版本:
CardView 回退到编程影子实现,使用
额外的填充。 CardView 不会裁剪其子视图
与圆角相交。这些限制不适用于
Android L 开发者预览版。
最后是动画
以下新 API 仅在 Android L Developer 中可用
预览:
活动转换、触摸反馈、显示动画、基于路径
动画。为了保持与早期版本的 Android 的兼容性,
在调用这些 API 之前,请在运行时检查系统版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)