删除操作栏选项卡中不需要的间距

时间:2014-11-13 11:10:06

标签: android android-actionbar styles

我遇到了操作栏标签间距的问题。我正在显示操作栏标签的屏幕截图。

enter image description here

下面我发布了与此问题相关的代码。

MainActivity.java:

ActionBar.Tab tab = actionBar.newTab()
                    .setText("Tab1")
                    .setTabListener(
                            new TabListener(this, Home.class.getName()));
            View tabView = inflater.inflate(R.layout.fragment_home, null);
            tabView.setBackgroundResource(R.drawable.gradient_shape); // set custom color
            tab.setCustomView(tabView);
            actionBar.addTab(tab);

抽拉/ gradient_shape.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners android:radius="4dp" />

    <stroke
        android:width="1dp"
        android:color="#0078a5" />

    <gradient
        android:angle="90"
        android:endColor="#00adee"
        android:startColor="#0078a5" />

    <padding
        android:bottom="25dp"
        android:left="50dp"
        android:right="50dp"
        android:top="25dp" />

</shape>

styles.xml:

<resources>

    <style name="AppBaseTheme" parent="android:Theme.Light">

    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">

    </style>

</resources>

值-V11 / styles.xml:

<resources>

    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
    </style>

</resources>

值-V14 / styles.xml:

 <resources>

    <style name="AppBaseTheme" parent="android:Theme.Light">
    </style>

    <style name="AppTheme" parent="AppBaseTheme">
    </style>

</resources>

清单:

<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="19" />
  <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Holo.Light.DarkActionBar" >
    <activity
        android:name="com.smart.activity.MainActivity"
        android:label="@string/app_name" >


        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

我需要删除标签之间不需要的间距。标签必须逐个合并。而且还没有显示操作栏标签名称。任何人都可以帮助我。谢谢。

1 个答案:

答案 0 :(得分:1)

values / styles.xml 中添加了这个解决了我的问题:

<resources>

<style name="MyTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarTabStyle">@style/CustomTabWidget</item>
    <item name="android:actionBarTabBarStyle">@style/MyActionBarTabBar</item>
</style>

<style name="CustomTabWidget" parent="@android:style/Widget.TabWidget">
    <item name="android:textAppearance">@style/CustomTabWidgetText</item>
</style>

<style name="CustomTabWidgetText" parent="@android:style/TextAppearance.Widget.TabWidget">
    <item name="android:textSize">20sp</item>
    <item name="android:textAppearance">@android:style/TextAppearance.Medium</item>
    <item name="android:gravity">center</item>
    <item name="android:paddingLeft">50dp</item>
    <item name="android:paddingRight">20dp</item>
    <item name="android:textColor">#FFFFFF</item>
</style>

<style name="MyActionBarTabBar">
    <item name="android:gravity">center</item>
</style>

</resources>

然后在 Manifest

我在android:theme="@style/MyTheme"元素中设置了application这样的主题。