Android 材料设计向后兼容性

Android 材料设计向后兼容性,android,android-5.0-lollipop,backwards-compatibility,material-design,material-theme,Android,Android 5.0 Lollipop,Backwards Compatibility,Material Design,Material Theme,从Android开发者页面上提供的示例中,我看到新视图,如RecyclerView,是向后兼容的(Android.support.v7.widget.RecyclerView) 在Material Design中引入的所有新事物是否向后兼容(哪个版本)?更新此答案,因为棒棒糖操作系统已随支持库正式发布,您可以在项目中使用支持库来提供与旧版本的兼容性 支持库: 此库添加了对操作栏用户界面设计模式的支持。此库包括对材质设计用户界面实现的支持 如果您使用的是Android Studio,则只需包含以下

从Android开发者页面上提供的示例中,我看到新视图,如
RecyclerView
,是向后兼容的(
Android.support.v7.widget.RecyclerView


在Material Design中引入的所有新事物是否向后兼容(哪个版本)?

更新此答案,因为棒棒糖操作系统已随支持库正式发布,您可以在项目中使用支持库来提供与旧版本的兼容性

支持库:

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

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

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

正式的
材料设计
是向后的。

只是为了补充帕雷什的答案,并非材料设计的所有功能都在旧版本中可用。自定义主题和活动转换仅适用于API>21,但正如其他人提到的,支持库中提供了一些功能

从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_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimaryDark"/>
    

    资料来源举例:

    要使工具栏工作在较低的API11位置,请使用Theme.AppCompat.Light.NoActionBar(而不是windowActionBar设置为false)

    
    ...
    
    2。材料设计库 这里是材质设计库,用于漂亮的按钮等

    指南、代码、示例-

    指导如何将库添加到Android Studio 1.0


    快乐编码;)

    该API自第22版开始提供。您需要将此依赖项包含在渐变依赖项中:


    com.android.support:design:22.2.0

    2015年I/O中引入的谷歌设计支持库

    在那里你会发现很多材料设计的好东西

    • 导航视图
    • 小吃条
    • 浮动动作按钮
    • 坐标布局、运动和滚动(最好的部分包括视差效果和固定工具栏)

    还有更多

    还没有。。它们包含在支持库中,但目前只适用于L。那么,您将如何确保API兼容性?摘自您提供的文档链接:“为了保持与Android早期版本的兼容性,在调用这些API之前,请在运行时检查系统版本。”从您的角度来看,这是否意味着在调用API之前要以编程方式进行检查?听起来像是两倍(或更多)的工作来确保在多个操作系统中的平稳体验…@Jean-PhilippeMurray是的,如果(Build.VERSION.SDK_INT>=21),则需要单独的资源目录以及运行时检查{
    @Jean-PhilippeMurray当然你必须意识到API级别的差异。这是Android开发的一半乐趣。新主题只是增加了更多的乐趣和刺激。迫不及待了!^我不知道@GlennBech是在开玩笑还是在开玩笑;)一点都不好玩。:p棒棒糖发布后,这个答案不受欢迎。这是一个赌注一个更好、更有用的答案;不确定当一个更好的答案出现时,是否可以改变被接受的答案。
    <style name="NoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
         ...
    </style>