支持Android材质设计

时间:2014-06-26 13:32:56

标签: android material android-5.0-lollipop

我们正在重新设计我们的Android应用程序,并且考虑到即将推出的具有其材质风格的Android L平台,问题也在增加:支持旧设备的方式是什么?这个新设计在4.x设备上是否可以接受?

3 个答案:

答案 0 :(得分:23)

根据Android Material Design compatibility docs

如果链接被取消,我将在这里重新发布材料,这很可能是在不久的将来。

对于材质主题

  

材质主题仅适用于Android L Developer   预习。配置应用以在设备上使用素材主题   在设备上运行Android L开发人员预览版和较旧的主题   运行早期版本的Android:

     

定义一个继承自旧主题(如Holo)的主题   RES /值/ styles.xml。定义具有相同名称的主题   来自res / values-v21 / styles.xml中的材质主题。设置这个主题   作为应用程序在清单文件中的主题。

至于布局

  

如果您根据材料设计设计布局   准则不使用Android L中的任何新XML属性   开发人员预览版,他们将在以前版本的Android上工作。   否则,您可以提供替代布局。你也可以提供   替代布局,以自定义您的应用之前的外观   Android版本。

     

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

     

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

用于UI小部件

  

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

     

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

最后是动画

  

以下新API仅适用于Android L Developer   预览:

     

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

答案 1 :(得分:2)

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

  • 应用其中一个系统小部件时的材质设计样式 Theme.AppCompat主题。

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

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

以下功能仅适用于Android 5.0(API级别21)及以上版本:

  • 活动转换

  • 触摸反馈

  • 显示动画

  • 基于路径的动画

  • Vector drawables

  • Drawable Tinting

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

答案 2 :(得分:0)

支持库包含许多使用新材料设计的组件,特别是自设计支持库发布以来。使用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