Anpassen von Registerkarten auf die Staat in Android
Ich wissen, wie man das icon auf jedem tab, das ist kein problem. Ich lief auch über diese :
[Stack-Overflow-thread ziemlich viel dasselbe Ding][1]
Ich folgte einem der links, die von dieser Frage und fand [dies][2]
Ziemlich viel, es sagte ein Selektor definiert in der XML, sicher, das getan hat. Aber es gibt keine id zugeordnet w/es so ich bin nicht sicher wie man den Wahlschalter-Funktion wie ein drawable, so kann ich es verwenden, als Symbol für die tabs. Vielleicht werde ich über dieses der falsche Weg. Aber das ist, was ich habe, und offensichtlich etwas fehlt.
<selector
android:id="@+id/myselector"
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item
android:state_focused="false"
android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/darklogo" />
<item
android:state_focused="false"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/lightlogo" />
<!-- Focused states -->
<item
android:state_focused="true"
android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/lightlogo" />
<item
android:state_focused="true"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/lightlogo" />
<!-- Pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/lightlogo" />
</selector>
In meinem code ein Beispiel-Registerkarte wird erstellt mit :
host.addTab(host.newTabSpec("three")
.setIndicator("map",drawables)
.setContent(new Intent(this, Map.class)));
Jetzt drawable ist nur ein Verweis auf ein image drawable Ressource. Wie mache ich den Selektor ein drawable?
Dies ist meine Frage [1]: Aktualisieren Android Tab Icons [2]: http://groups.google.com/group/android-evelopers/browse_thread/thread/ef3bdebcb715b385
Du musst angemeldet sein, um einen Kommentar abzugeben.
XML Sie haben, hier ist eine Definition drawable, können Sie einbetten in eine case-Anweisung. Es präsentiert eine andere drawable je nach Zustand der Ansicht es ist, zugewiesen wird. Als drawable, sollten Sie speichern Sie es als xml-Datei innerhalb des
res/drawable
Ordner Ihres Projekts (zum Beispieltabselector.xml
).Verwenden es für die Tabhost, die Sie benötigen, zu konstruieren, die TabActivity als Sie es normalerweise tun würden (wie in diesem tutorial-Beispiel).
Dann, wenn Sie fügen Sie jede Registerkarte, um die host-geben Sie die
tabselector
drawable als Indikator, wie gezeigt, für "TAB 1" unten.Hinweis: Sie nicht ändern Sie die Farbe der Registerkarte hintergrund hinter den icons an dieser Stelle.
Könntest du eine Ansicht als Indikator, so können Sie es anpassen, wie Sie möchten.
Dem ersten Karteireiter werden mit einer Ansicht wie die Anzeige und die zweite, die ein CharSequence. Haben Sie einen Blick auf die tatsächlichen TabSpec Klasse (http://developer.android.com/reference/android/widget/TabHost.TabSpec.html).