TabLayout jest całkiem użyteczny budując przesuwaną zakładkę dla viewpager, ale nie ma możliwości dodania pionowej linii między kartami tak jak TabHost w kodzie lub xml aż do Wiem, więc czy jest inny sposób na zrobienie tego z łatwością?Czy istnieje sposób dodania linii pionowej między każdą z kart w TabLayout
Odpowiedz
TabLayout jest faktycznie poziome przewijane LinearLayout.
Wystarczy użyć poniższy kod, żeby dodać przekładki:
LinearLayout linearLayout = (LinearLayout)tabLayout.getChildAt(0);
linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
GradientDrawable drawable = new GradientDrawable();
drawable.setColor(Color.GRAY);
drawable.setSize(1, 1);
linearLayout.setDividerPadding(10);
linearLayout.setDividerDrawable(drawable);
fajne rozwiązanie, lepsze niż dodawanie niestandardowych widoków. Dzięki! – Tooroop
lepsze niż dodawanie niestandardowych widoków Dziękujemy –
To rozwiązanie działa dla mnie, ale dodaje także dzielnik przed pierwszym elementem, nawet jeśli ustawię show_divider_middle. –
Jest na to sposób, aby dodać dzielnik za pomocą metody Tab setCustomView:
TabLayout tabLayout = (TabLayout) findViewById(R.id.tablayout);
tabLayout.setupWithViewPager(viewPager);
for (int i = 0; i < tabLayout.getTabCount(); i++) {
TabLayout.Tab tab = tabLayout.getTabAt(i);
RelativeLayout relativeLayout = (RelativeLayout)
LayoutInflater.from(this).inflate(R.layout.tab_layout, tabLayout, false);
TextView tabTextView = (TextView) relativeLayout.findViewById(R.id.tab_title);
tabTextView.setText(tab.getText());
tab.setCustomView(relativeLayout);
tab.select();
}
Tab niestandardowy układ z rozdzielaczem (tab_layout.xml):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Tab title -->
<TextView
android:id="@+id/tab_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@drawable/tab_item_selector"/>
<!-- Tab divider -->
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:background="@android:color/black" />
</RelativeLayout>
Set TabLayout zakładka poziomy wyściółka 0DP:
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_tabbar_background"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorHeight="4dp"
app:tabPaddingStart="0dp"
app:tabPaddingEnd="0dp" />
I selektor dla koloru tytułu tabulatora, gdy jest zaznaczony (tab_item_selector.xm l):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="@color/abc_primary_text_material_dark" />
<item android:state_focused="true" android:color="@color/abc_primary_text_material_dark" />
<item android:state_pressed="true" android:color="@color/abc_primary_text_material_dark" />
<item android:color="@color/abc_secondary_text_material_dark" />
</selector>
patrz link na więcej: https://stackoverflow.com/a/32416751/3134215
Ale pionowa linia będzie trzymać się blisko lewej strony tekstu, a wypełnienie nie sprawi, że znajdzie się pośrodku między kartami. –
spróbować,
Możesz dodać ręcznie linia w pliku layoutu tab_indicator.
do linii poziomej,
<View
android:layout_height="1dp"
android:id="@+id/line"
android:layout_width="fill_parent"
android:background="your color" />
i pionowa linia
<View
android:layout_height="7dp"
android:id="@+id/line"
android:layout_width="1dp"
android:background="your color" />
- 1. Czy istnieje sposób na ukrycie pionowej linijki w edytorze asów?
- 2. Czy istnieje sposób dodania dodatków do działania za pomocą ActivityInstrumentationTestCase2
- 3. Przekładka w linii pionowej między dwoma elementami div
- 4. Czy istnieje sposób dodania wyjątku do require_tree w pliku manifestu?
- 5. Czy istnieje jakiś sposób dodania kresek do łańcucha?
- 6. Czy istnieje sposób dodania korektora Jasmine do całego środowiska?
- 7. Czy istnieje znacznik szerokości linii Eclipse?
- 8. Czy istnieje sposób wyświetlania pionowych linii wcięć w Delphi?
- 9. TabLayout ustaw odstępy lub marginesy każdej zakładce
- 10. Dodawanie pionowej przestrzeni między wierszami w vim
- 11. Czy istnieje sposób na zapisanie stanów grup okna/kart Netbeans?
- 12. Czy istnieje sposób, aby śledzić przekierowania z linii poleceń cURL
- 13. Jak dodać etykietę do linii pionowej z legendą w ggplot2
- 14. Dopasowanie linii pionowej za pomocą polyfitu
- 15. Czy istnieje sposób ograniczenia długości linii w ggplot2?
- 16. Android TabLayout: rozpowszechniaj równomiernie
- 17. Czy istnieje sposób na ukrycie paska kart JTabbedPane, jeśli istnieje tylko jedna karta?
- 18. Czy istnieje sposób dodania przycisku "Edytuj HTML" do bootstrap-wysihtml5 podczas integracji z Rails_Admin?
- 19. Czy istnieje prosty sposób dodania ostatnio zmodyfikowanego znacznika czasu podczas korzystania z ORMLite i Androida?
- 20. Czy istnieje sposób użycia stylu lambda w standardzie Java 8 w celu dodania niestandardowego serializatora Jacksona?
- 21. Czy istnieje sposób wykonywania łączenia między wieloma sesjami w sqlalchemy?
- 22. w vim, czy istnieje sposób na zapisywanie zakładek między sesjami?
- 23. Czy istnieje sposób, aby odczytać plik .txt i zapisać każdą linię w pamięci?
- 24. Czy istnieje sposób dodawania linii pokazu git, linii zmienionych i usuniętych linii?
- 25. Czy istnieje sposób komunikacji z urządzeniami USB w systemie Android?
- 26. C++: Czy istnieje sposób na zdefiniowanie linii statycznej inline?
- 27. Jak pozbyć się pionowej linii w okienku edytora IntelliJ Idea?
- 28. Visual Studio - Czy istnieje prosty sposób dodania "Close Solution" do kliknięcia w Eksploratorze rozwiązań
- 29. Czy w gvim istnieje wiele wierszy kart plików?
- 30. Dodawanie przestrzeni pionowej w dokumentach Sfinksa
Można spróbować poniżej linku do rozwiązywania problemu. Link: http://stackoverflow.com/questions/32204184/how-to-set-the-divider-between-tabs-in-tablayout-of-design-support-library?lq=1 – KishuDroid