/ / Come rimuovere l'imbottitura delle schede della barra delle azioni? - Android, layout Android, Android Actionbar, schede Android

Come rimuovere il riempimento delle schede della barra delle azioni? - Android, Android-layout, Android-actionbar, schede Android

Sto usando le librerie di supporto Android per creareTabBar. Sono in grado di creare TabBar con successo con le mie modifiche usando gli stili, ma non so perché c'è un'imbottitura sinistra nella prima scheda e un'imbottitura destra nella seconda scheda. Non sono in grado di rimuoverli sostituendo gli stili.

codice file layout:

<?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>

Codice file 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));
}}

Il mio codice per lo stile è:

<!-- 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>

Ho allegato lo screenshot seguente per riferimento.

inserisci la descrizione dell'immagine qui

risposte:

0 per risposta № 1

Alla fine ho trovato la risposta alla mia domanda. Non sono riuscito a rimuovere l'imbottitura ma ho applicato lo stesso colore di sfondo allo spazio a sinistra e a destra. Ho usato il seguente codice:

 <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>