Próbuję użyć nowego projektu TabLayout w moim projekcie. Chcę, aby układ dostosowywał się do każdego rozmiaru i orientacji ekranu, ale można go zobaczyć poprawnie w jednej orientacji.TabLayout Android Support Design: Centrum Gravity i tryb Przewijany
mam do czynienia z grawitacją i ustawienie trybu mój tabLayout jak:
tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
więc spodziewać, że jeśli nie ma pomieszczenia, tabLayout jest przewijane, ale jeśli nie ma miejsca, to jest wyśrodkowany.
z prowadnic:
public static final int GRAVITY_CENTER Gravity wykorzystywane do ułożyć karty w środku TabLayout.
public static final int GRAVITY_FILL Grawitacja używana do wypełnienia TabLayout tak bardzo, jak to możliwe. Ta opcja działa tylko wtedy, gdy używana jest funkcja MODE_FIXED.
public static final int MODE_FIXED Stałe zakładki wyświetlają jednocześnie wszystkie karty i są najlepiej używane z treścią, która korzysta z szybkiej przestawiania między kartami. Maksymalna liczba zakładek jest ograniczona przez szerokość widoku . Naprawiono zakładki mają jednakową szerokość, w oparciu o najszerszą etykietę zakładki.
public static final int MODE_SCROLLABLE Przewijane zakładki wyświetlają w każdej chwili podzbiór kart w danym momencie i mogą zawierać dłuższe etykiety zakładek i większą liczbę zakładek. Są najlepiej używane do kontekstów przeglądania w interfejsach dotykowych, gdy użytkownicy nie muszą bezpośrednio porównywać etykiet tabulacji .
Więc GRAVITY_FILL jest kompatybilny tylko z MODE_FIXED ale co znaczy nie określa coś dla GRAVITY_CENTER, spodziewam się, że jest zgodny z MODE_SCROLLABLE, ale to jest to, co się za pomocą GRAVITY_CENTER i MODE_SCROLLABLE
Wykorzystuje więc PRZEWIJANIE w obu orientacjach, ale nie używa GRAVITY_CENTER.
Tego oczekuję w krajobrazie; ale mieć to, muszę ustawić MODE_FIXED, więc co mam w układzie pionowym jest:
Dlaczego GRAVITY_CENTER nie pracuje dla przewijalnych jeśli tabLayout pasuje do ekranu? Czy istnieje sposób dynamicznego ustawiania grawitacji i trybu (i zobaczenia, czego się spodziewam)?
Dziękuję bardzo!
edycja: Jest to układ z moim 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 pan znaleźć żadnego rozwiązania tego? Stoję w obliczu tego samego problemu. – Spynet
Jedynym sposobem, jaki znalazłem, było pobranie rozmiaru kart (ręcznie), a następnie skonfigurowanie parametrów układu w sposób dinamiczny, w zależności od tego, czy pasuje, czy nie. –
@ Fighter42, czy możesz opublikować przykładowy kod dla rozwiązania, którego używasz? – Sammys