Material Design 向后兼容性
Posted
技术标签:
【中文标题】Material Design 向后兼容性【英文标题】:Material Design backward compatibility 【发布时间】:2014-08-18 03:52:49 【问题描述】:从 android 开发者页面上提供的示例中,我看到新视图,如 RecyclerView
,向后兼容 (android.support.v7.widget.RecyclerView
)。
Material Design 中引入的所有新东西都向后兼容(到哪个版本)?
【问题讨论】:
还没有.. 它们包含在支持库中,但目前除了 L 之外什么都不能使用。 Link to a discussion about this. 【参考方案1】:将此答案更新为 Lollipop 操作系统已正式发布支持库,您可以在项目中使用这些支持库来提供与旧版本的兼容性。
支持库: v7 appcompat library
这个库增加了对 Action Bar 用户界面设计模式的支持。该库包括对材料设计用户界面实现的支持。
如果您使用的是 Android Studio,那么您只需要包含以下依赖项标识符:
com.android.support:appcompat-v7:21.0.+
【讨论】:
那么您将如何确保 API 兼容性?取自您提供的文档链接:“为了保持与早期版本的 Android 的兼容性,请在调用这些 API 之前在运行时检查系统版本。”从您的角度来看,这是否意味着在调用 API 之前以编程方式进行检查?听起来像是两次(或更多)的工作,以确保在多个操作系统中的流畅体验...... @Jean-PhilippeMurray 是的,您需要单独的资源目录以及运行时检查if (Build.VERSION.SDK_INT >= 21)
@Jean-PhilippeMurray 当然,您必须注意 API 级别的差异。这就是 Android 开发的一半乐趣。新主题只会增添更多乐趣和刺激。等不及了!
^ 我不知道@GlennBech 是在挑衅还是在认真;)一点也不好玩。 :p
自 Lollipop 发布以来,此答案已被弃用。【参考方案2】:
从 Android 2.2 (API 8) 到现在的 5.0 (API 21) 的材料设计
这是你需要的:
-
工具栏
小部件的材料设计库(按钮、复选框等)
1。工具栏
只要得到这个想法,你就可以开始了。
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_
android:layout_
android:background="?attr/colorPrimaryDark"/>
设置指南:http://antonioleiva.com/material-design-everywhere/
示例来源:https://github.com/antoniolg/MaterialEverywhere
要使 Toolbar 工作在较低的 API 11 中,请使用 Theme.AppCompat.Light.NoActionBar(将 windowActionBar 设置为 false em>)
<style name="NoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
</style>
2。材料设计库
这里是 Material Design Library,用于漂亮的按钮等。
指南、代码、示例 - https://github.com/navasmdc/MaterialDesignLibrary
指导如何将库添加到 Android Studio 1.0 - How do I import material design library to Android Studio?
.
编码愉快 ;)
【讨论】:
这是一个更好更有用的答案;不确定当更好的答案出现时是否可以更改已接受的答案。【参考方案3】:官方Material Design
倒退到v7 appcompat Support Library。
【讨论】:
【参考方案4】:只是为了补充 Paresh 的答案,并非 Material Design 的所有功能都在旧版本中可用。自定义主题和活动转换仅适用于 API > 21,但正如其他人提到的,支持库中提供了一些功能。
https://developer.android.com/training/material/compatibility.html
【讨论】:
【参考方案5】:API 从版本 22 开始包含。您需要将此依赖项包含到 gradle 依赖项中:
com.android.support:design:22.2.0
【讨论】:
【参考方案6】:I/O 2015 中引入的 Google 设计支持库
http://android-developers.blogspot.gr/2015/05/android-design-support-library.html
你会在那里找到很多材料设计的好东西。
导航视图 小吃店 浮动操作按钮 CoordinatorLayout、运动和滚动(最好的部分包括视差效果和固定工具栏)还有更多...
【讨论】:
以上是关于Material Design 向后兼容性的主要内容,如果未能解决你的问题,请参考以下文章
Android Material Design 兼容库的使用
具有 Material Design 风格的自定义 Android 键盘