material-components / material-components/material-components-android

[TabLayout] Margin for each tab item

Offen
#1,507 6 Kommentare 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature request Widget: Tab
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:
image

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

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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.