Wie erstelle ich eine App-Leiste mit Icons mit TabLayout Android Design?
Ich versuche, die neue TabLayout in den android-design-Bibliothek zum erstellen von app-Leiste mit icons.
public void setupTabLayout(TabLayout tabLayout) {
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
tabLayout.setupWithViewPager(mViewpager);
tabLayout.getTabAt(0).setIcon(R.drawable.ic_tabbar_library);
tabLayout.getTabAt(1).setIcon(R.drawable.ic_tabbar_recents);
tabLayout.getTabAt(2).setIcon(R.drawable.ic_tabbar_favorites);
tabLayout.getTabAt(3).setIcon(R.drawable.ic_tabbar_notifications);
tabLayout.getTabAt(4).setIcon(R.drawable.ic_tabbar_settings);
}
Ergebnis:
Mir bitte helfen, zu erstellen Sie app-Leiste ähnlich:
Sorry mein Englisch ist nicht gut.Dank Voraus !
InformationsquelleAutor der Frage natuan241 | 2015-06-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Dokumentation :
https://developer.android.com/reference/android/support/design/widget/TabLayout.Tab.html#setCustomView(android.view.View)
haben Sie zum festlegen des Titels Werte selbst
Aus deinem Beispiel:
custom_tab.xml
Update
Die api wurde geändert, damit Sie zum festlegen einer benutzerdefinierten id, so dass Sie nicht haben, um den text/drawable manuell. Es wird die Verwendung des Adapters Werte.
InformationsquelleAutor der Antwort Chris Dinon
Als Dokumentation sagte Sie Elemente hinzufügen können, um
TabLayout
durch die xml-Daten durch Benutzung vonTabItem
. Ein Beispiel für die Verwendung ist wie:InformationsquelleAutor der Antwort Amir
Können Sie mithilfe der attribute
android:layout
vonTabItem
so stellen Sie eine benutzerdefinierte Ansicht.In eigene view xml-Datei, denken Sie daran,
id
von Symbol und text anzeigen zu@android:id/icon
undandroid:id="@android:id/text1"
, dann wird die Bibliothek um den rest kümmern.Hier ein Beispiel:
. custom_tab_item.xml
. main.xml
Hoffe, dass dies helfen.
InformationsquelleAutor der Antwort nlt
Wenn Sie Vektor-drawables als Symbole möchten Sie vielleicht, um die Wiederverwendung einer einzelnen drawables für verschiedene Staaten, indem Sie einfach die Tönung ist es anders. Auf diese Weise können Sie reduzieren apk Größe und die Verteilung der Ressourcen. Definieren Sie zunächst eine benutzerdefinierte FragmentPagerAdapter (ich bin mit kotlin anstelle von java hier)
Statt der Implementierung
getPageTitle
wir erstellen eingetPageIcon
Methode, die zurückgibt, die ein drawable für eine bestimmte Registerkarte. Als Nächstes erstellen wir eine benutzerdefinierte TabLayout:Also die Magie passiert in der
addTab
Methode, wo das Symbol und die Farbe der Status-Liste gesetzt. Die Farbe Status-Liste hat folgende Struktur:InformationsquelleAutor der Antwort Lost in OWL