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 指示器的主要内容,如果未能解决你的问题,请参考以下文章
带有图标的 Android SlidingTabLayout