在Android 4上自定义ActionBar选项卡

Pet*_* O. 15 java android android-layout android-theme android-actionbar

我正在尝试在ActionBar上自定义Tabs.我只想将标签对齐到手机屏幕,使其可以伸展各种屏幕.但我得到的只是:

在此输入图像描述

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

<?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>
Run Code Online (Sandbox Code Playgroud)

是否可以减少字体并摆脱那些蓝线?

提前感谢您的帮助.

PS:Button也很奇怪.这是没有文字(虽然它应该是)......

Ale*_*ood 13

编辑:使用ActionBarCompat在支持库.


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

  1. ActionBarSherlock是兼容性库的扩展,便于在所有Android版本中使用操作栏.这意味着在预HoneyComb版本的Android上运行应用程序的用户也可以使用ActionBar导航.这对用户(因为ActionBar太棒了!)和你来说都是优选的(因为你不必担心根据是否ActionBar可用来分离应用程序的控制流.例如,没有预先-HoneyComb兼容ActionBar,您可能不得不担心Activity为单个屏幕创建多个s ...一个针对使用而优化的屏幕ActionBar,以及可以在预HoneyComb设备上运行的屏幕.

  2. 使用ActionBarSherlock,您的ActionBar 样式很容易!我可以详细介绍如何做到这一点,但该库已经附带了大量的示例代码,说明了您在上面描述的内容.

安装/使用库非常简单,几乎与使用ActionBarAndroid SDK中提供的常规(大多数只是调用getSupportActionBar()而不是getActionBar())相同.如果您有任何疑问,请告诉我.

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


gal*_*lex 7

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