在 Android 4 上自定义 ActionBar 选项卡

我正在尝试自定义操作栏上的选项卡。我只想将选项卡与手机屏幕对齐,并使其可拉伸到各种屏幕。但我得到的只是这个:

enter image description here

我用于主题的代码是这样的:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarTabTextStyle">@style/MyActionBarTabTextStyle</item>
    </style>

    <style name="MyActionBarTabTextStyle" parent="@android:style/Widget.Holo.Light.Tab">
        <item name="android:textSize">14dip</item>
        <item name="android:padding">0dip</item>
    </style>

</resources>

有没有可能只是减少字体并摆脱那些蓝线?

提前感谢您的帮助。

P.S.:按钮也表现得很奇怪。没有文本(虽然它应该是)...


答案 1

编辑:在支持库中使用。ActionBarCompat


我建议你使用Jake Wharton的ActionBarSherlock,原因有两个:

  1. ActionBarSherlock是兼容性库的扩展,有助于在所有版本的Android上使用操作栏。这意味着在 HoneyComb 之前的 Android 版本上运行您的应用程序的用户也可以使用这对用户(因为它很棒!)和您(因为您不必担心根据应用程序是否可用来分离应用程序的控制流)都更可取。例如,如果没有预 HoneyComb 兼容 ,您可能不得不担心为单个屏幕创建多个 s...一个针对与 使用进行了优化,另一个可以在 HoneyComb 之前的设备上运行。ActionBarActionBarActionBarActionBarActivityActionBar

  2. 使用ActionBarSherlock,设置您的ActionBar的样式非常简单!我可以详细介绍如何执行此操作,但是该库已经附带了很多示例代码,这些代码说明了您如何进行上述描述。

安装/使用该库非常简单,并且几乎与使用Android SDK中提供的正常功能相同(大多数只是调用而不是)。如果您有任何疑问,请告诉我。ActionBargetSupportActionBar()getActionBar()

p.s. 另请注意,它提供了 ViewPagerExtensions 库提供的所有功能以及更多功能。我肯定会建议使用前者而不是后者。ActionBarSherlock


答案 2

有一个全新的工具可以为动作栏生成正确的9patch图像:http://jgilfelt.github.com/android-actionbarstylegenerator/


推荐