Desidero impostare il margine tra ogni scheda. Come in PagerTabStrip che ha setTextSpacing (int textSpacing) per rendere la spaziatura del testo tra le schede. TabLayout può farlo?TabLayout imposta spaziatura o margine su ogni scheda
risposta
Conosci lotta contro questo problema per un po 'troppo, trovato la soluzione su questo thread: Android Design Support Library TabLayout using custom tabs layout but layout wrapping the tabs
<!-- Add the padding to tabPaddingStart and/or tabPaddingEnd -->
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_layout_height"
app:tabPaddingStart="10dp"
app:tabPaddingEnd="10dp">
È possibile utilizzare l'attributo tabMinWidth. piace questo.
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="44dp"
app:tabIndicatorColor="@color/default_enable"
app:tabTextColor="@color/font_default_03"
app:tabSelectedTextColor="@color/default_enable"
app:tabMinWidth="50dp"
android:clipToPadding="false"
android:paddingLeft="4dp"
android:paddingRight="4dp" />
disposizione
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
java
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
int betweenSpace = 100;
ViewGroup slidingTabStrip = (ViewGroup) tabLayout.getChildAt(0);
for (int i=0; i<slidingTabStrip.getChildCount()-1; i++) {
View v = slidingTabStrip.getChildAt(i);
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
params.rightMargin = betweenSpace;
}
Ecco come imposta il margine per quattro differenze schede di affitto. È possibile modificare i valori delle funzioni setMargins (v1, v2, v3, v4) per ottenere un raccordo adatto al numero di schede con cui si sta lavorando. Spero che aiuti. Si noti che tabHost è l'oggetto di TabHost che ospita diverse schede con cui si sta lavorando.
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
View currentView;
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
{
//This code removes divider between tabs
tabHost.getTabWidget().setDividerDrawable(null);
tabHost.getTabWidget().getChildAt(i).setLayoutParams(new
LinearLayout.LayoutParams((width/8)-2,50));
currentView = tabHost.getTabWidget().getChildAt(i);
LinearLayout.LayoutParams currentLayout =
(LinearLayout.LayoutParams) currentView.getLayoutParams();
currentLayout.setMargins(30, 5, 80, 0);
}
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMinWidth="0dp"
app:tabMode="scrollable"
/>
Per impostazione predefinita, Android fornisce alcuni minWidth, in base al quale ci sarà una larghezza minima per ogni scheda. Se vuoi dare la larghezza come wrap_content allora dai a minWidth = "0dp", e se vuoi spazio tra le schede allora dai tabPaddingStart = "10dp" e tabPaddingEnd = "10dp" come da tuo requisito –
- 1. TabLayout scheda selezionata gravità
- 2. Spaziatura scheda Studio Android
- 3. Testo scheda TabLayout non visualizzato
- 4. Margine su ogni elemento tranne l'ultimo
- 5. Stile testo su TabLayout
- 6. Android come nascondere la scheda da TabLayout
- 7. Scheda attiva centrale all'interno di TabLayout
- 8. TabLayout colore della scheda selezionata sottolineatura
- 9. C'è un modo per aggiungere una linea verticale tra ogni scheda in TabLayout
- 10. Il tag H1 ha ancora una spaziatura o margine sul fondo anche se nessuno ha impostato
- 11. Come impostare la scheda corrente in viewpager con tablayout
- 12. Tabview Primefaces: imposta l'indice attivo su modifica scheda
- 13. Disabilita TabLayout
- 14. Aggiornamento dinamico di TabLayout senza modificare la scheda selezionata
- 15. TabLayout L'icona della scheda selezionata non è selezionata all'avvio:
- 16. CollapsingToolbarLayout e TabLayout
- 17. Disattiva ondulazione materiale su Tablayout
- 18. Utilizzo di RecyclerView con scheda
- 19. Imposta punto di interruzione su ogni riga in GDB
- 20. TabLayout Android: distribuire uniformemente
- 21. Come rilevare un clic su una scheda già selezionata in TabLayout
- 22. Impossibile modificare il colore del testo attivo su TabLayout
- 23. Emacs imposta spaziatura per commenti in linea (fine riga)
- 24. Rimuovi l'ombra sotto TabLayout su Android
- 25. Margine superiore su UITableViewController
- 26. Margine su TextView personalizzato
- 27. Come rimuovere la spaziatura nel widget scheda in Android?
- 28. TabLayout senza utilizzare ViewPager
- 29. Qual è l'altezza predefinita su Androids TabLayout
- 30. margine inferiore o imbottitura non funziona nella disposizione relativa in XML su android
ringraziamento il suo lavoro. –