材料设计向后兼容性

64

从Android开发者页面提供的示例中,我看到像RecyclerView这样的新视图是向后兼容的(android.support.v7.widget.RecyclerView)。

在Material Design中引入的所有新内容都向后兼容吗?适用于哪个版本?


4
目前还不行,虽然它们已经包含在支持库中,但现在只适用于 L 版本。关于此问题的讨论链接 - hypd09
6个回答

49

随着支持库的发布,您可以在项目中使用它们来向旧版本提供兼容性。这里更新此答案以适应正式发布的Lollipop操作系统。

支持库: v7 appcompat库

此库添加了对操作栏用户界面设计模式的支持。该库包括对材料设计用户界面实现的支持。

如果您正在使用Android Studio,则只需要包含以下依赖项标识符:

com.android.support:appcompat-v7:21.0.+

那么,您如何确保API的兼容性呢?从您提供的文档链接中可以看到:“为了保持与早期版本的Android兼容性,在调用这些API之前,请在运行时检查系统版本。”从您的角度来看,这是否意味着在调用API之前进行编程检查?听起来需要两次(或更多次)工作才能确保在多个操作系统中获得流畅的体验... - Jean-Philippe Murray
1
@Jean-PhilippeMurray 是的,您需要单独的资源目录以及运行时检查 if (Build.VERSION.SDK_INT >= 21) { - Jacob Tabak
1
@Jean-PhilippeMurray 当然你必须要注意API级别的差异。这也是Android开发的乐趣之一。新的主题只会增加更多的乐趣和刺激。迫不及待了! - Glenn Bech
5
我不知道@GlennBech是在恶作剧还是认真的;这一点根本不好玩。 :p - Martin Marconcini
8
自从发布了Lollipop版本,这个答案已经过时了。 - Chad Bingham
@Binghammer 是的,我正在准备详细步骤和库更新这个答案! - Paresh Mayani

31

从Android 2.2(API 8)到现在5.0(API 21)的材料设计

以下是您需要的:

  1. 工具栏(Toolbar)
  2. 材料设计库用于小部件(按钮、复选框等)

1. 工具栏(Toolbar)

只需理解概念,您就可以开始了。

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimaryDark"/>

安装指南:http://antonioleiva.com/material-design-everywhere/

包含示例的源代码:https://github.com/antoniolg/MaterialEverywhere

要在低于API 11的设备上使用 Toolbar,请使用 Theme.AppCompat.Light.NoActionBar 主题(而不是将 windowActionBar 设置为 false)。

<style name="NoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
     ...
</style>

2. Material Design Library

这里有一个漂亮的按钮等等的 Material Design Library

指南、代码、示例 - https://github.com/navasmdc/MaterialDesignLibrary

如何将库添加到 Android Studio 1.0的指南 - 如何将材料设计库导入到Android Studio中?

.

愉快的编码 ;)


1
这是一个更好、更实用的答案;不确定当有更好的答案出现时是否可以更改已接受的答案。 - rfay

10

4

1
API从版本22开始包含。您需要将此依赖项包含到gradle依赖项中:

com.android.support:design:22.2.0


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接