material-components / material-components/material-components-android
[TabLayout] Margin for each tab item
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 17.4k
- Fork
- 3.2k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Currenlty you can not change a Tab item from the TabLayout from the styles, you have to do some hacky thing like:
The issue is when you want to change the tab background shape into something like:

But since this is not possible from the styles it will appear like this since:

# Possible Solution
One atribute `tab_margin_start` and each margin for each item maybe?
# Current hacky solution
Hacky programaticaly solution [source](https://spotandroid.com/2016/11/02/how-to-add-margins-between-tabs-in-tablayout/):
```kotlin
for(int i=0; i < mTabLayout.getTabCount(); i++) {
View tab = ((ViewGroup) mTabLayout.getChildAt(0)).getChildAt(i);
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) tab.getLayoutParams();
p.setMargins(0, 0, 50, 0);
tab.requestLayout();
}
```
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia leggendo l’implementazione di TabLayout e la gestione del layout dei suoi elementi delle schede. Confronta i margini richiesti per elemento con il comportamento attuale dello stile e con il workaround programmatico documentato. Il lavoro è completato quando i margini possono essere configurati tramite stili o attributi supportati senza quel workaround e il comportamento è stato verificato per più schede.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, java
- Ambito
- mobile
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100