【问题标题】:how to completely remove tab indicator in an ActionBar如何完全删除 ActionBar 中的选项卡指示器
【发布时间】:2013-08-23 02:18:23
【问题描述】:

我在我的FragmentActivity 中使用了ActionBar(最小 SDK = 14),我需要删除活动的选项卡指示器(见下图),因为我有自己的图标来指示哪个选项卡处于活动状态。我一直在阅读很多与风格相关的东西,但是没有找到解决方案。有什么建议可以完全删除这个指标吗?

已解决

工作解决方案如下:

      <style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
    <item name="android:background">@android:color/transparent</item>
</style>

然后添加到Activity样式中:

<item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:

    来自How to change the color of tab 'underbar' in actionbarsherlock,看起来指示器是可绘制对象的一部分。我没有尝试过,但您可能可以将@drawable/tab_selected 和@drawable/tab_selected_focused 更改为您自己的drawable。 (如果您不想要该指标,请明确说明。)希望这会有所帮助。

    编辑:

    注意:尚未测试

    您可以尝试关注the answer 并从 tab_selected_focused 更改为 tab_unselected_focused 以及从 tab_selected 更改为 tab_unselected。

    <!-- Non focused states -->
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected" />
    <item android:state_focused="false" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/tab_unselected" />
    
     <!-- Focused states -->
     <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused" />
     <item android:state_focused="true" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused" />
    

    编辑 2: 您可以尝试使用 ActionbarStyleGenerator 来设置 Actionbar 的样式。

    “如何: 使用 UI 为不同的项目选择颜色 完成后点击“下载 .ZIP” ZIP 文件包含您必须复制到项目 res/layout 和 res/drawableXXXX 文件夹中的资源文件”

    【讨论】:

    • 谢谢,在您的链接答案中,我找到了样式生成器的链接,我更改了指示器颜色,并能够在下载的 .zip 中找到所需的参数。更新问题,以便对其他人有所帮助
    • 太棒了。我将更新我的答案并将其添加以供将来参考。