Ich möchte TextView
, dass sich simple_list_item_1
ein ListView
Mensch einfach so verhält, wie er es tut. Hier ist das XML:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:gravity="center" android:focusable="true"
android:minHeight="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:background="@android:drawable/list_selector_background" />
Alles funktioniert bis auf die Textfarbe, die sich (erwartungsgemäß) im fokussierten Zustand nicht ändert. Wie ändere ich es textAppearanceLargeInverse
?
android
textview
android-selector
yanchenko
quelle
quelle
Antworten:
Ich habe mehrere Tests durchgeführt, bis einer funktioniert hat, also: res / color / button_dark_text.xml
res / layout / view.xml
quelle
android:textColor="@color/button_dark_text"
res/color
Ordner befinden?Und Selektor ist auch hier die Antwort.
Suchen Sie in den Quellen nach bright_text_dark_focused.xml, fügen Sie es Ihrem Projekt im Verzeichnis res / color hinzu und verweisen Sie dann in der Textansicht auf
quelle
ListFragment
, und am Ende eine Reihe von Fehlern festgestellt . Was mache ich falsch?Hier ist meine Implementierung, die sich genau wie ein Element in der Liste verhält (zumindest in 2.3).
res / layout / list_video_footer.xml
res / color / bright_text_dark_focused.xml
quelle
Verwenden Sie den folgenden Code, damit die Auswahl in einer Listenansicht funktioniert:
Anscheinend ist der Schlüssel
state_activated="true"
Zustand.quelle
Hier ist das Beispiel eines Selektors. Wenn Sie Eclipse verwenden, schlägt dies nichts vor, wenn Sie auf Strg und Leerzeichen klicken: / Sie müssen es eingeben.
Sie können als Referenz suchen;
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
quelle
Ich habe immer die obige Lösung verwendet, ohne danach mehr zu suchen. ;-);
Heute bin ich jedoch auf etwas gestoßen und habe darüber nachgedacht, es zu teilen. :) :)
Diese Funktion ist in der Tat über API 1 verfügbar und wird als ColorStateList bezeichnet , wo wir verschiedenen Widgets-Zuständen (wie wir bereits wissen) eine Farbe zuweisen können.
Es ist hier auch sehr gut dokumentiert .
quelle
In
res/color
Ort eine Datei „text_selector.xml“:Dann
TextView
benutze es:Und im Code müssen Sie einen Klick-Listener festlegen.
Entschuldigung, wenn es Fehler gibt, habe ich vor der Veröffentlichung einen Code geändert und nicht überprüft.
quelle
Wenn Sie TextViews in Registerkarten verwenden, hat diese Auswahldefinition für mich funktioniert (habe Klaus Balduino ausprobiert, aber nicht):
quelle
Hast du es versucht
setOnFocusChangeListener
? Innerhalb des Handlers können Sie das Erscheinungsbild des Textes ändern.Zum Beispiel:
Sie können dann beliebige Änderungen anwenden, wenn sie fokussiert sind oder nicht. Sie können den ViewTreeObserver auch verwenden, um auf globale Fokusänderungen zu warten.
Zum Beispiel:
Ich hoffe das hilft oder gibt dir Ideen.
quelle