material-components / material-components/material-components-android
[TabLayout] Margin for each tab item
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 17.4k
- Forks
- 3.2k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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:
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();
}
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem Lesen der TabLayout-Implementierung und der Verarbeitung des Tab-Item-Layouts. Vergleiche die angeforderten Margins pro Element mit dem aktuellen Styling-Verhalten und dem dokumentierten programmgesteuerten Workaround. Die Aufgabe ist erledigt, wenn Margins über unterstützte Styling-Optionen oder Attribute ohne diesen Workaround konfiguriert werden können und das Verhalten für mehrere Tabs überprüft wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, java
- Bereich
- mobile
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100