SlidingTabLayout 下方的 SlidingTabStrip 指示器

Posted

技术标签:

【中文标题】SlidingTabLayout 下方的 SlidingTabStrip 指示器【英文标题】:SlidingTabStrip indicator underneath SlidingTabLayout 【发布时间】:2015-03-31 05:03:24 【问题描述】:

我正在为两个选项卡使用片段寻呼机适配器,它几乎基于来自Sliding Tabs Basic sdk sample 的代码。一切正常,直到我尝试将操作栏换成工具栏。我不得不将我的主题切换为浅色,现在我注意到选项卡使用的是透明的默认颜色。我希望我的标签与工具栏的颜色相同,但在设置颜色时,它们完全遮住了滑动标签条指示器。将 SlidingTabStrip 推到最前面的正确方法是什么?

我尝试以编程方式设置选项卡的背景资源,而不是通过selectableItemBackground 主题属性。背景仍然遮住了指示器。 我在多个地方尝试了bringToFront()bringChildToFront() SlidingTabStrip,(它是在SlidingTabLayout 的构造函数中创建的)。我在 SlidingTabLayout.populateTabStrip() 中的 for 循环之后尝试了它,这似乎是明智的,因为这是创建选项卡视图的地方。

我想知道为什么没有其他人遇到过这个问题?!

【问题讨论】:

【参考方案1】:

好吧,我找到了解决方案,但实际上我花了很长时间 - 通过反转问题,我们可以让 selectableItemBackground 在未按下时保持透明,然后设置:

<item name="android:windowBackground">@color/my_bg_color</item>

在主题本身。这意味着我可以让我的选项卡与工具栏的颜色相同,而不会使指示器变得模糊。不过这是一个奇怪的设置,因为如果我确实希望标签的颜色与 windowBackground 或工具栏不同,并且指示器不被遮挡,那么这不是解决方案!

【讨论】:

以上是关于SlidingTabLayout 下方的 SlidingTabStrip 指示器的主要内容,如果未能解决你的问题,请参考以下文章

SlidingTabLayout 选项卡之间的通信

SlidingTabLayout 以适应屏幕

将图标添加到 SlidingTabLayout 而不是文本

带有图标的 Android SlidingTabLayout

带有 SlidingTabLayout 的 ViewPager 中的 Listview - 高度问题

Align-Center SlidingTabLayout