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 键盘

Material Design Ripple Button

Material Design Ripple Button

Android5.0美不胜收的新特性 Material Design

Design Support Library(支撑Material Design)