Chcę ustawić margines między każdą z kart. Podobnie jak w PagerTabStrip, który ma setTextSpacing (int textSpacing), aby zrobić odstęp tekstowy między kartami. Czy TabLayout może to zrobić?TabLayout ustaw odstępy lub marginesy każdej zakładce
Odpowiedz
walczą ten problem przez jakiś czas też znaleźć rozwiązanie tego wątku: Android Design Support Library TabLayout using custom tabs layout but layout wrapping the tabs
<!-- Add the padding to tabPaddingStart and/or tabPaddingEnd -->
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_layout_height"
app:tabPaddingStart="10dp"
app:tabPaddingEnd="10dp">
Możesz użyć atrybutu tabMinWidth. lubię to.
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="44dp"
app:tabIndicatorColor="@color/default_enable"
app:tabTextColor="@color/font_default_03"
app:tabSelectedTextColor="@color/default_enable"
app:tabMinWidth="50dp"
android:clipToPadding="false"
android:paddingLeft="4dp"
android:paddingRight="4dp" />
układ
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
java
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
int betweenSpace = 100;
ViewGroup slidingTabStrip = (ViewGroup) tabLayout.getChildAt(0);
for (int i=0; i<slidingTabStrip.getChildCount()-1; i++) {
View v = slidingTabStrip.getChildAt(i);
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
params.rightMargin = betweenSpace;
}
ten sposób ustawić margines na cztery różnice wypożyczyć karty. Możesz zmienić wartości funkcji setMargins (v1, v2, v3, v4), aby uzyskać odpowiednie dopasowanie do liczby kart, z którymi pracujesz. Mam nadzieję, że to pomoże. Należy pamiętać, że tabHost jest obiektem TabHost hostującym różne karty, z którymi pracujesz.
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
View currentView;
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
{
//This code removes divider between tabs
tabHost.getTabWidget().setDividerDrawable(null);
tabHost.getTabWidget().getChildAt(i).setLayoutParams(new
LinearLayout.LayoutParams((width/8)-2,50));
currentView = tabHost.getTabWidget().getChildAt(i);
LinearLayout.LayoutParams currentLayout =
(LinearLayout.LayoutParams) currentView.getLayoutParams();
currentLayout.setMargins(30, 5, 80, 0);
}
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMinWidth="0dp"
app:tabMode="scrollable"
/>
Domyślnie Android podaje pewną minimalną szerokość, ponieważ z każdej zakładki będzie minimalna szerokość. Jeśli chcesz nadać szerokość jako wrap_content, podaj minWidth = "0dp", a jeśli chcesz spacje między kartami, podaj tabPaddingStart = "10dp" i tabPaddingEnd = "10dp" zgodnie z wymaganiami –
- 1. Przycisk Zamknij na każdej zakładce w Tabpanelu
- 2. Jak wykrywać kliknięcie na już wybranej zakładce w TabLayout
- 3. Ustaw marginesy między pozycjami na BrowseFragment
- 4. Android: Ustaw marginesy w FrameLayout nie programmatically- pracy
- 5. Widok android domyślne wypełnienie lub marginesy
- 6. Marginesy i wyściółki między elementami w LibGDX
- 7. ListView marginesy
- 8. Ustaw punkt przerwania dla każdej linii w GDB
- 9. ZwijanieToolbarLayout i TabLayout
- 10. odstępy tabulacji
- 11. Ustaw margines/dopełnienie dla każdej strony do wydrukowania (html/css)?
- 12. AppBarLayout + TabLayout + CollapsingToolbarLayout + SwipeToRefresh
- 13. Android TabLayout: rozpowszechniaj równomiernie
- 14. Tabulatury TabLayout nie pokazano
- 15. TabLayout Ikona nie pokazując
- 16. TabLayout wybrana zakładka grawitacja
- 17. ggplot2 marginesy obszaru wydruku?
- 18. Ustaw wartość InstallDir w funkcji lub ustaw automatycznie wypełnij wartość?
- 19. Odstępy między elementami GridView
- 20. Niewidoczne odstępy między tabelami
- 21. ggplot2 wolne marginesy ograniczają resztę
- 22. Zdefiniuj styl TabLayout w temacie
- 23. Aktywuj aktywną zakładkę wewnątrz TabLayout
- 24. Disable Material Ripple on Tablayout
- 25. Jak ustawić rozmiar tekstu tablayout?
- 26. Marginesy między działkami w grid.arrange
- 27. Jak usunąć marginesy podmenu MenuStrip?
- 28. Wyśrodkuj marginesy liniowe i "procentowe"
- 29. Tajemnicze marginesy na stronie internetowej
- 30. Jak usunąć marginesy okna dialogowego?
dziękuję swoją pracę. –