/ / Comment supprimer le rembourrage des onglets de la barre d'actions? - android, android-layout, android-actionbar, android-tabs

Comment supprimer le rembourrage des onglets de la barre d'action? - android, android-layout, android-actionbar, android-tabs

J'utilise des bibliothèques de support Android pour créerTabBar.Je peux créer TabBar avec succès avec mes propres modifications en utilisant des styles mais je ne sais pas pourquoi y a-t-il un remplissage gauche dans le premier onglet et un remplissage droit dans le deuxième onglet. Je ne suis pas en mesure de les supprimer en remplaçant les styles.

code du fichier de mise en page:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:baselineAligned="false" >

</LinearLayout>

Code de fichier Java:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.all_contacts);
final ActionBar actionBar = getActionBar();

// Specify that tabs should be displayed in the action bar.
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

// Create a tab listener that is called when the user changes tabs.
ActionBar.TabListener tabListener = new ActionBar.TabListener() {

@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub

}

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub

}

@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub

}
};

// Add 3 tabs, specifying the tab"s text and TabListener
for (int i = 0; i < 2; i++) {
actionBar.addTab(actionBar.newTab().setText("Tab " + (i + 1))
.setTabListener(tabListener));
}}

Mon code pour le style est:

<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionBarTabStyle">@style/MyActionBar.Tab</item>
<item name="android:actionBarTabTextStyle">@style/My.TabText.Style</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
<item name="android:background">@color/white</item>
<item name="android:padding">0dp</item>
</style>

<style name="MyActionBar.Tab" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar">
<item name="android:background">@drawable/tab_bar_background</item>
<item name="android:padding">0dp</item>
<item name="android:gravity">center</item>
</style>

<style name="My.TabText.Style" parent="@android:style/Widget.Holo.Light.ActionBar.TabText">
<item name="android:textAppearance">@android:style/TextAppearance.Medium</item>
<item name="android:textSize">15sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/black</item>
<item name="android:textAllCaps">true</item>
<!-- <item name="android:ellipsize">none</item> -->
<item name="android:maxLines">1</item>
</style>

J'ai joint la capture d'écran ci-dessous pour référence.

entrer la description de l'image ici

Réponses:

0 pour la réponse № 1

Enfin, j'ai trouvé la réponse à ma propre question. Je n'ai pas pu supprimer le rembourrage mais j'applique la même couleur de fond à l'espace à gauche et à droite. J'ai utilisé le code suivant:

 <item name="android:actionBarTabBarStyle">@style/MyActionBar.TabBar</item>

<style name="MyActionBar.TabBar" parent="android:style/Widget.Holo.Light.ActionBar.TabBar">
<item name="android:background">@color/gray_background</item>
</style>