标签,材料设计和支持库

时间:2017-04-07 06:49:16

标签: android

目标:

  • 实施标签。

条件:

  • 仅使用 API21 +(Lolipop +)组件。
  • 使用材料设计。

注意到当前状态Android有:

那么开发人员应该如何在Android 5.0+(API21 +,Lolipop +)应用程序上实现标签?使用弃用的东西会被拒绝。使用TabLayout会导致AppCompat使用。

Android材料使用文档: https://developer.android.com/training/material/index.html

除了AppCompatActivityandroid.support.design.widget.TabLayout之外,我还没有找到任何描述应如何实施标签的文档。

我的意思是,这看起来像废话:

  • Android发布Material Design。
  • 开发人员无法直接使用Material Design,因为API21 +中没有组件(例如Tabs),而是被迫使用Theme.AppCompat内容。

1 个答案:

答案 0 :(得分:1)

创建AppCompat是为了便于为不同的API维护不同的组件/值。它处理(最好是平台/ api允许)所有Material设计的东西。

某些组件,如CardView(撰写本文时支持库v7),具有针对不同API级别的内部实现。例如,在API 21以下的任何内容中,它必须以不同方式呈现阴影(对于"提升"在这些API中实际上不支持)。

因此,听起来很傻,你必须使用AppCompat即使你只想要最新和最好的。

有人希望Google有一天会做正确的事情,不仅停止支持旧设备(它们很好,它们有效,它们已经老了,让它们安静下来,提供重要的安全补丁如果需要的话)及时向前移动,支持更少的旧的apis",但也要删除"支持库"共。我不想知道我应该使用哪个版本的片段。我不想考虑" FragmentManager或SupportFragmentManager",我甚至不想考虑ChildFragmentManager(wtf ...?)等。

目标API 21+的Kudos,如果我正在开发自己的应用程序,我也会这样做。 : - )