【问题标题】:Supporting Android material design支持安卓材质设计
【发布时间】:2014-08-17 09:24:51
【问题描述】:

我们正在重新设计我们的 Android 应用程序,考虑到即将推出的 Android L 平台及其材料风格,一个问题出现了:支持旧设备的方式是什么?这种新设计在 4.x 设备上是否可以接受?

【问题讨论】:

  • 问这种问题可能还为时过早..
  • 将于 26 日晚些时候推出适用于 Android L 的 SDK。你会有时间去发现的。无论如何,我闻到了 10 万次访问的问题
  • google.com/design 已经有一些关于材料设计的信息。 /edit:对于网络,聚合物中已经有一个实现 -> polymer-project.org

标签: android material-design android-5.0-lollipop


【解决方案1】:

根据Android Material Design compatibility docs

我将在此处重新整理材料,以防链接被删除,这很可能会在不久的将来被删除。

对于 Material 主题

材质主题仅在 Android L Developer 中可用 预习。配置您的应用程序以在设备上使用材料主题 在设备上运行 Android L Developer Preview 和旧主题 运行早期版本的 Android:

定义一个继承自旧主题(如 Holo)的主题 res/values/styles.xml。定义一个继承的同名主题 来自 res/values-v21/styles.xml 中的材料主题。设置这个主题 作为清单文件中应用的主题。

关于布局

如果您根据材料设计设计的布局 指南不使用 Android L 中的任何新 XML 属性 开发者预览版,它们将适用于以前版本的 Android。 否则,您可以提供替代布局。您还可以提供 替代布局来自定义您的应用程序的早期外观 Android 版本。

为里面的 Android L Developer Preview 创建你的布局文件 res/layout-v21/ 和早期版本的替代布局文件 在 res/layout/.替代布局具有相同的文件 名字。

为避免重复代码,请在 res/values/ 中定义样式 并为新 API 修改 res/values-v21/ 中的样式。

对于 UI 小部件

RecyclerView 和 CardView 小部件包含在 Android L 开发人员预览支持库,因此它们在早期可用 具有以下限制的 Android 版本:

CardView 回退到使用程序化阴影实现 额外的填充。 CardView 不会剪辑其子视图 与圆角相交。这些限制不适用于 Android L 开发者预览版。

最后是动画

以下新 API 仅在 Android L Developer 中可用 预览:

活动过渡、触摸反馈、显示动画、基于路径 动画。为了保持与早期 Android 版本的兼容性, 在调用这些 API 之前,请在运行时检查系统版本。

【讨论】:

    【解决方案2】:

    v7 支持库 r21 及更高版本包括以下材料设计功能:

    • 当您应用其中一种时,某些系统小部件的材料设计样式 Theme.AppCompat 主题。

    • Theme.AppCompat 主题中的调色板主题属性。

    • 用于显示数据集合的 RecyclerView 小部件。
    • 用于创建卡片的 CardView 小部件。要提取的 Palette 类 图片中突出的颜色。

    以下功能仅在 Android 5.0(API 级别 21)及更高版本中可用:

    • 活动转换

    • 触摸反馈

    • 显示动画

    • 基于路径的动画

    • 矢量绘图

    • 可绘制着色

    因此,您可以使用一些可用于触控反馈的第三方库。并且可以使用自定义的activity过渡动画。我已经完成了自定义活动过渡动画。你可以在这个link 上找到我的应用程序 .您可以在自定义活动转换中找到 devebyte 的 youtube 视频。

    【讨论】:

      【解决方案3】:

      支持库包括许多使用新材料设计的组件,尤其是自设计支持库发布以来。使用Theme.AppCompat(和类似的)作为第一步,您将上路。 build.gradle 中包含的部分是:

      compile 'com.android.support:support-v13:{{VERSION}}'
      compile 'com.android.support:cardview-v7:{{VERSION}}'
      compile 'com.android.support:recyclerview-v7:{{VERSION}}'
      compile 'com.android.support:design:{{VERSION}}'
      

      适用于 22.2.0 或更高版本。

      还可以查看AppCompat v21 — Material Design for Pre-Lollipop DevicesAndroid Design Support Library

      【讨论】:

        猜你喜欢
        • 2020-07-06
        • 1970-01-01
        • 1970-01-01
        • 2015-12-28
        • 2013-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多