Ich versuche, das neue Design TabLayout in meinem Projekt zu verwenden. Ich möchte, dass sich das Layout an jede Bildschirmgröße und -ausrichtung anpasst, aber in einer Ausrichtung richtig angezeigt wird.Android Support Design TabLayout: Gravity Center und Modus scrollbar
ich mit Gravity zu tun habe und Moduseinstellung meine tabLayout als:
tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
Damit ich erwarten, wenn kein Raum ist, der tabLayout scrollbaren ist, aber wenn es Raum ist, wird es zentriert.
Von den Führungen:
public static final int GRAVITY_CENTER Gravity verwendet, um die Registerkarten in der Mitte des TabLayout zu legen.
public static final int GRAVITY_FILL Schwerkraft verwendet, um die TabLayout so viel wie möglich zu füllen. Diese Option wird nur wirksam, wenn mit MODE_FIXED verwendet wird.
public static final int MODE_FIXED Feste Tabs angezeigt werden alle Registerkarten gleichzeitig und mit Inhalt am besten verwendet, die von schnellen schwenkt zwischen den Tabs zu Gute kommt. Die maximale Anzahl von Tabs ist durch die Breite der Ansicht begrenzt. Feste Tabs haben die gleiche Breite, basierend auf dem breitesten Tab Label.
public static final int MODE_SCROLLABLE Scrollbare Registerkarten zeigen zu jedem Zeitpunkt eine Untergruppe von Registerkarten an und können längere Registerkartenbeschriftungen und eine größere Anzahl von Registerkarten enthalten. Sie werden am besten für das Durchsuchen von Kontexten verwendet, die in In-Touch-Schnittstellen enthalten sind, wenn Benutzer die Registerkarte Etiketten nicht direkt vergleichen müssen.
So GRAVITY_FILL ist nur mit MODE_FIXED aber zumin gibt nichts spezifiziert für GRAVITY_CENTER erwarte ich, dass es mit MODE_SCROLLABLE kompatibel sein, aber das ist, was ich GRAVITY_CENTER und MODE_SCROLLABLE erhalten mit
So verwendet SCROLLABLE in beiden Ausrichtungen, aber es verwendet nicht GRAVITY_CENTER.
Dies ist, was ich für Landschaft erwarten würde; aber diese zu haben, ich brauche MODE_FIXED zu setzen, so, was ich im Portrait bekommen ist:
Warum ist GRAVITY_CENTER nicht funktioniert für SCROLLABLE, wenn der tabLayout den Bildschirm passt? Gibt es eine Möglichkeit, Schwerkraft und Modus dynamisch einzustellen (und zu sehen, was ich erwarte)?
Vielen Dank!
EDITED: Dies ist das Layout meiner TabLayout:
<android.support.design.widget.TabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:background="@color/orange_pager"
android:layout_height="wrap_content" />
@ Fighter42 folgende Verwendung haben Sie eine Lösung für diese gefunden? Ich stehe vor dem gleichen Problem. – Spynet
Der einzige Weg, den ich gefunden habe, war, die Größe Ihrer Tabs (manuell) zu erhalten und dann die Layout-Parameter dynamisch zu konfigurieren, je nachdem, ob es passt oder nicht. –
@ Fighter42, können Sie einen Beispielcode für die von Ihnen verwendete Lösung posten? – Sammys