Elemen SearchView tidak memiliki properti apa pun untuk mengubah warna teks. Warna teks default adalah hitam dan tidak berfungsi pada latar belakang gelap kita. Apakah ada cara untuk mengubah warna teks tanpa menggunakan peretasan?
Saya menemukan pertanyaan serupa ini terkait dengan mengubah ukuran teks, tetapi sejauh ini, tidak ada jawaban: Bagaimana cara mengatur SearchView TextSize?
android
searchview
CACuzcatlan
sumber
sumber
Jawaban:
Menambahkan
ke tema induk dan itu harus mengubah teks yang dimasukkan. Anda juga bisa menggunakan
untuk mengubah teks petunjuk untuk SearchView. (Perhatikan bahwa Anda dapat mengganti
@android:color/white
dengan nilai apa pun yang sesuai yang ingin Anda gunakan)sumber
EditText
s Anda . Satu-satunya solusi yang berhasil bagi saya yang mengubahSearchView
warna teks saja ada di sini: stackoverflow.com/a/40550067/1617737Cobalah sesuatu seperti ini: Anda akan mendapatkan pegangan ke textview dari sdk dan kemudian mengubahnya karena mereka tidak mengeksposnya secara publik.
sumber
Ini berhasil untuk saya.
sumber
Saya ingin melakukan hal serupa. Saya akhirnya harus menemukan di
TextView
antaraSearchView
anak - anak:Jika Anda menginginkan metode util:
sumber
Berkat @CzarMatt saya menambahkan dukungan AndroidX .
Bagi saya karya berikut ini. Saya menggunakan kode dari tautan: Ubah warna teks petunjuk pencarian di bilah tindakan menggunakan pustaka dukungan .
Mengubah warna teks petunjuk tampilan bilah tindakan memberi saran solusi lain. Ia bekerja tetapi hanya mengatur teks petunjuk dan warna.
sumber
androidx.appcompat.R.id.search_src_text
jika Anda telah memigrasikan proyek Anda ke AndroidX.Ini paling baik dicapai melalui gaya kustom. Keluarkan gaya widget panel tindakan dengan gaya kustom Anda sendiri. Untuk cahaya holo dengan bilah tindakan gelap, letakkan ini di file gaya Anda sendiri seperti
res/values/styles_mytheme.xml
:Pastikan aplikasi Anda menggunakan theme custom theme seperti yang dijelaskan dalam masukkan deskripsi tautan di sini
sumber
Anda dapat melakukannya dengan menyetel
editTextColor
atribut dalam gaya.dan Anda menerapkan gaya ini ke
Toolbar
atauSearchView
dalam tata letak.sumber
jika Anda menggunakan - android.support.v7.widget.SearchView
di Kotlin
Anda sebaiknya mulai menggunakan pustaka dukungan androidx sekarang
sumber
Buat Style untuk Anda
Toolbar
Dan tetapkan sebagai tema untuk file
Toolbar
sumber
Jika Anda menggunakan android.support.v7.widget.SearchView, ini dapat dilakukan tanpa harus menggunakan refleksi.
Inilah cara saya melakukannya di aplikasi saya:
ID tersebut tidak mengekspos id secara publik untuk SearchView non appcompat, tetapi melakukannya untuk AppCompat jika Anda tahu di mana mencarinya. :)
sumber
Saya punya masalah ini, dan ini berhasil untuk saya.
sumber
Jika Anda mendasarkan tema aplikasi Anda pada tema holo, Anda akan mendapatkan teks putih, bukan hitam di SearchView Anda
<style name="Theme.MyTheme" parent="android:Theme.Holo">
Saya tidak menemukan cara lain untuk mengubah warna teks tampilan pencarian tanpa menggunakan peretasan kotor.
sumber
Cara paling bersih adalah:
Toolbar menggunakan tema ThemeOverlay.AppCompat.Dark.Actionbar.
Sekarang buat anak itu seperti:
toolbarStyle parent "ThemeOverlay.AppCompat.Dark.Actionbar"
tambahkan item ini dengan gaya itu
nama item "android: editTextColor"> warna Anda
Selesai.
Satu hal lagi yang sangat penting adalah, pada toolbar letakkan layout_height = "? Attr / actionbarSize". Secara default itu adalah wrap_content. Bagi saya teks bahkan tidak terlihat di searchview itu memperbaiki masalah itu.
sumber
Ya itu mungkin menggunakan metode berikut.
Pemanggilan metode ini terlihat seperti ini ..
menggunakannya saya telah berhasil menambahkan tanda warna * merah di petunjuk menggunakan metode ini. Anda harus mengubah metode ini sesuai dengan kebutuhan Anda. Saya harap ini membantu Anda .... :)
sumber
SearchAutoComplete autoCompleteView = (SearchAutoComplete) mSearchView .findViewById(com.android.internal.R.id.search_src_text);autoCompleteView.setHintTextColor(R.color.hint_text_color);
itu solusi saya, tapi saya pikir solusi Anda lebih baik dari saya, saya akan menggunakan solusi Anda, terima kasih.Gunakan yang ini, itu benar. : D
sumber
Ya kita bisa,
Untuk menerapkan warna putih untuk SerachView Text,
Selamat coding !!!!
sumber
ini bekerja untuk saya.
sumber
Ubah warna teks yang diketik:
Ubah warna teks petunjuk:
sumber
sumber
Sebuah
SearchView
objek memanjang dariLinearLayout
, sehingga memegang tampilan lain. Triknya adalah menemukan tampilan yang menahan teks petunjuk dan mengubah warna secara terprogram. Masalah dengan mencoba menemukan tampilan berdasarkan id adalah id bergantung dari tema yang digunakan dalam aplikasi. Jadi, bergantung pada tema yang digunakan,findViewById(int id)
metode tersebut mungkin kembalinull
. Pendekatan yang lebih baik yang berfungsi dengan setiap tema adalah melintasi hierarki tampilan dan menemukan widget yang berisi teks petunjuk:Dengan menggunakan metode ini, Anda juga dapat mengubah tampilan widget lain dalam
SearchView
hierarki, sepertiEditText
menahan kueri penelusuran. Kecuali jika Google memutuskan untuk segera mengubah hierarki tampilanSearchView
, Anda akan dapat mengubah tampilan widget dengan metode ini untuk beberapa waktu.sumber
Anda dapat menyesuaikan tampilan pencarian dengan menggunakan pustaka appcompat v7. Saya menggunakan pustaka appcompat v7 dan menentukan gaya khusus untuknya. Di folder drawable, letakkan file bottom_border.xml yang terlihat seperti ini:
Dalam folder nilai styles_myactionbartheme.xml:
Saya mendefinisikan file custommenu.xml untuk menampilkan menu:
Aktivitas Anda harus memperluas ActionBarActivity, bukan Activity. Berikut adalah metode onCreateOptionsMenu.
Dalam file manifes:
Untuk informasi lebih lanjut, lihat url ini:
Di sini http://www.jayway.com/2014/06/02/android-theming-the-actionbar/
sumber
untuk appcompat-v7 Toolbar dengan searchView (disediakan melalui MenuItemCompat):
Menyetel tema Toolbar ke @ style / ThemeOverlay.AppCompat.Light akan menghasilkan warna gelap (hitam) untuk teks petunjuk dan teks yang dimasukkan, tetapi tidak akan memengaruhi warna kursor *. Oleh karena itu, menyetel tema Toolbar ke @ style / ThemeOverlay.AppCompat.Dark akan menghasilkan warna terang (putih) untuk teks petunjuk dan teks yang dimasukkan, kursor * akan tetap putih.
Menyesuaikan tema di atas:
android: textColorPrimary -> warna teks yang dimasukkan
editTextColor -> warna teks yang dimasukkan (akan mengganti pengaruh android: textColorPrimary jika disetel)
android: textColorHint -> warna petunjuk
* Catatan: Saya belum menentukan bagaimana warna Kursor dapat dikontrol (tanpa menggunakan solusi refleksi).
sumber
Dengan menggunakan ini saya bisa mengubah teks berwarna yang diketik dalam tampilan pencarian
sumber
Wow. Jawaban yang banyak. Itu mendapat nilai warna dari warna primer Anda.
Ubah, dan selesai!
Gaya;
sumber
ubah gaya searchView di toolbar dengan androidx.
pertama, setel gaya tampilan pencarian dalam Gaya toolbar Anda (ubah menjadi induk dengan basis aplikasi Anda sendiri):
lalu, gunakan di tata letak bilah alat Anda:
dengan ini, Anda bisa mengubah sebagian besar gaya SearchView kecuali untuk petunjuk kueri.
terakhir tetapkan petunjuk kueri pada opsi menu bilah alat Anda:
sumber
Saya menggunakan Perpustakaan Holoeverywhere. Catat org.holoeverywhere.R.id.search_src_text
sumber
Saya menemukan solusi dari posting blog. Lihat disini .
Pada dasarnya Anda memberi gaya searchViewAutoCompleteTextView dan meminta android: actionBarWidgetTheme mewarisi gaya tersebut.
sumber
itu bekerja dengan saya
sumber
Apa yang berhasil untuk saya
sumber
Untuk Bahasa Kotlin
sumber