【问题标题】:Android AppCompat-v21 vs Pure MaterialAndroid AppCompat-v21 vs Pure Material
【发布时间】:2014-12-23 00:26:34
【问题描述】:

因此,目前针对基于 Material 的 Android 应用程序的文档和示例很少且稀少,但正在添加更多文档和示例。

迄今为止,我已阅读所有文档,但我从很多人那里听到了一个更普遍的问题:

  • 5.0 以下的应用是否应该遵循 Holo-istic 样式,而 5.0 使用 Material?

或

  • 应用是否应该使用 AppCompat 尽可能多地制作系统 Material,如果是,这对 5.0 及更高版本的设备有什么负面影响?

我的 ocd 开发者心目中更希望尽可能使用最纯粹的 Material 形式,但考虑到工具栏和其他重要因素,使用 AppCompat 并修改整个 4.0 应用程序似乎更有意义。

对于那些看这里的人,这是我读过的一些文件:

http://antonioleiva.com/material-design-everywhere/

https://chris.banes.me/2014/10/17/appcompat-v21/

http://developer.android.com/training/material/theme.html

http://developer.android.com/training/material/compatibility.html

http://android-developers.blogspot.com/2014/10/implementing-material-design-in-your.html

【问题讨论】:

  • Google 专门构建了 AppCompat,以在 API 21 和早期设备上完美支持 Material Design。是什么让您认为使用它会对 5.0+ 设备产生“负面影响”?
  • 我觉得 Google 希望应用程序(5.0 及以下)与 Material Design 一起使用,因此 AppCompat 库。
  • @ianhanniballake 因此问题。我不知道是否会有。不过感谢您的回复。
  • @JohnShelley 这是一个真正普遍的问题,您为什么认为会有负面影响?
  • @f470071 - 当涉及到所有 API 级别的一致主题时,AppCompat 确实做得很好,并且会比你自己做的要好得多。

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


【解决方案1】:

应用程序是否应该使用 AppCompat 尽可能多地制作系统 Material,如果是,这对 5.0 及以上设备有什么负面影响?

您可以在使用 AppCompat 的同时通过替代资源在 Lollipop 上支持 Pure Material。因此,您实际上不必选择支持其中一个。 Google 花费大量时间开发 AppCompat 的原因是,开发人员可以采用 Material Design 并仍然支持旧设备。

我的 ocd 开发者心目中宁愿拥有尽可能最纯粹的 Material 形式

这其实有点危险。例如,如果您想在缺少 RenderThread 的 5.0 之前的设备上使用涟漪/其他动画,则可能会影响没有专用动画线程的设备的性能。

真正归结为,我能否使用 AppCompat 为我的用户提供与使用本机主题相同的惊人体验。 Google 在 AppCompat-v21 和其他支持库方面做得非常出色,可以在 5.0 之前的设备上实现 Material-esque 设计。所以答案是肯定的,使用 AppCompat 为您的用户提供植根于 Material Design 的统一、稳定的体验。

【讨论】:

  • 感谢@MrEngineer13 的回复,只是有点犹豫要不要进行如此重大的更改。不过完全同意你的看法,到目前为止,你对 AppCompat 很满意。
  • 我能理解你的犹豫。将应用程序迁移到 Material 需要大量工作,通常需要的不仅仅是主题更新(尤其是如果您有多个应用程序)。但是,我认为这已成为为我们的用户提供最佳体验的必要条件。
【解决方案2】:

这完全取决于你。

一些开发人员可能会发现不使用 appcompat 开发更容易,并选择为 pre-21 使用 Holo,为 21+ 使用 Material。许多开发者希望他们的应用在不同设备上看起来(大部分)一致,并选择在 pre-21 上使用 appcompat 作为 Material。

【讨论】:

    猜你喜欢
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多