Android 5.0 材料设计标签页

45

如何最好且简单地实现材料设计风格的选项卡,就像最新版本的 Google NewsStand 应用程序中一样?这正是我所寻找的,但我不知道要从哪里开始。非常感谢提供任何帮助/方向。谢谢。


现在你可以在Android Support Design Library中直接使用TabLayout - ywwynm
棒棒糖选项卡非常简单且直观易懂。您需要使用支持库以实现向后兼容性。请参阅 http://www.feelzdroid.com/2015/07/create-lollipop-tabs-in-android-example.html。这将给出一个简单的想法,如何实现基本的棒棒糖选项卡。 - Naruto
3个回答

85
这篇文章是由安卓开发者计划工程师@ChrisBanes撰写,解释了新的工具栏的情况。 这个示例可以提供帮助。
还有这个DevBytes视频。
如果您需要一个库,可以使用这个,但它没有更新到材料设计(我已经复刻了它,如果我有时间,我会尝试更新它)。
你可以在@ChrisBanes博客以及官方的Android博客中找到更多关于新API 21的信息。 编辑: 您可以在此存储库jpardogo/PagerSlidingTabStrip中找到材料设计选项卡:
我对原始库进行了4个更改(明天我会添加工具栏并修复一些问题):
  1. 更改选项卡布局的默认参数,使其看起来更像材料。
  2. 默认情况下,指示器在滑动选项卡时居中。
  3. 标题的透明度值取决于所选位置的更改。
  4. 可以通过在您的适配器中实现`CustomTabProvider'接口来传递自定义标签。

    • 如果自定义选项卡具有视图ID为@+id/tab_title的视图,则将使用它来放置标题,并且alpha将像往常一样起作用。
    • 如果未实现此接口,则将使用默认的选项卡布局(TextView)。

如果你想使用带有涟漪效果的自定义选项卡,可以使用以下任何一个库:

编辑2:我已将ActionBar更改为新的支持库Toolbar。 我还动态地应用颜色到选项卡,工具栏和状态栏中。 您可以在以下gif中查看在Android 4.4.3上运行示例的效果。

我已发送了一个PR来提交我的更改。 如果原始项目所有者没有更新Maven库并将其推送到Maven,则我将把我的库分支推送到Maven Central。

material_tabs


2
感谢@jpardogo提供这个优美的库。编译'com.jpardogo.materialtabstrip:library:1.+'是正确的选择。 :) - Gopinath

7

我个人很喜欢jpardogo的库jpardogo/PagerSlidingTabStrip

不过,我发现其中缺少了类似于下面这张图片中的涟漪效果: Material tabs with ripple effect

因此,我决定基于PagerSlidingTabStrip制作自己的库,并加入可自定义的涟漪效果:pizza/MaterialTabs

你还可以在Play商店找到一个示例,在那里自定义标签,然后立即生成并导出你的代码! :)


3

1
AppCompat已经支持Material Design了吗? - amalBit
是的,最新版本支持这个。 - Carsten

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接