Saya ingin sederhana TextView
berperilaku dengan cara simple_list_item_1
yang ListView
tidak. Inilah 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" />
Semuanya berfungsi kecuali untuk warna teks yang (diharapkan) tidak berubah dalam kondisi fokus. Bagaimana cara mengubahnya textAppearanceLargeInverse
?
android
textview
android-selector
yanchenko
sumber
sumber
Jawaban:
Saya mendapatkan dengan melakukan beberapa tes sampai satu berhasil, jadi: res / color / button_dark_text.xml
res / layout / view.xml
sumber
android:textColor="@color/button_dark_text"
res/color
folder?Dan pemilih juga jawabannya di sini.
Cari bright_text_dark_focused.xml di sumber, tambahkan ke proyek Anda di bawah direktori res / color dan kemudian merujuk dari TextView sebagai
sumber
ListFragment
, dan berakhir dengan banyak kesalahan . Apa yang saya lakukan salah?Inilah implementasi saya, yang berperilaku persis seperti item dalam daftar (setidaknya pada 2.3)
res / layout / list_video_footer.xml
res / color / bright_text_dark_focused.xml
sumber
Untuk membuatnya berfungsi pada seleksi dalam tampilan daftar gunakan kode berikut:
Ternyata kuncinya adalah
state_activated="true"
negara.sumber
Ini adalah contoh pemilih. Jika Anda menggunakan eclipse, itu tidak menyarankan sesuatu ketika Anda mengklik ctrl dan spasi keduanya: / Anda harus mengetiknya.
Anda dapat melihat referensi;
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
sumber
Saya selalu menggunakan solusi di atas tanpa mencari lebih banyak setelah ini. ;-)
Namun, hari ini saya menemukan sesuatu dan berpikir untuk membagikannya. :)
Fitur ini memang tersedia dari API 1 dan disebut sebagai ColorStateList , di mana kami dapat menyediakan warna ke berbagai status Widget (seperti yang sudah kita ketahui).
Ini juga didokumentasikan dengan sangat baik, di sini.
sumber
Di
res/color
tempat file "text_selector.xml":Kemudian dalam
TextView
menggunakannya:Dan dalam kode Anda harus mengatur pendengar klik.
Maaf jika ada kesalahan, saya mengubah kode sebelum menerbitkan dan tidak memeriksa.
sumber
Jika menggunakan TextViews di tab, definisi pemilih ini berfungsi untuk saya (mencoba Klaus Balduino tetapi tidak):
sumber
Sudahkah Anda mencoba
setOnFocusChangeListener
? Di dalam handler, Anda dapat mengubah tampilan teks.Misalnya:
Anda kemudian dapat menerapkan perubahan apa pun yang Anda inginkan saat fokus atau tidak. Anda juga dapat menggunakan ViewTreeObserver untuk mendengarkan perubahan fokus Global.
Misalnya:
Saya harap ini membantu atau memberi Anda ide.
sumber