Saya menggunakan yang baru TextInputLayout
dari perpustakaan desain. Saya bisa menampilkannya dan mengubah warna label mengambang. Sayangnya EditText
petunjuk yang sebenarnya sekarang selalu putih.
Saya telah mencoba mengubah hintColor dalam XML, style, dan secara terprogram dan juga mencoba menggunakan android.support.v7.widget.AppCompatEditText
tetapiEditText
petunjuk selalu menunjukkan warna putih.
Ini XML untuk saya TextInputLayout
danEditText
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android.support.design:hintTextAppearance="@style/GreenTextInputLayout">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/city"
android:textColorHint="@color/black"
android:hint="@string/city" />
</android.support.design.widget.TextInputLayout>
Dan ini adalah gaya yang saya gunakan untuk TextInputLayout
(saya mencoba membuat hintTextColor
atribut menjadi hitam tetapi tidak melakukan apa pun untuk saya):
<style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat">
<item name="android:textColor">@color/homestory_green</item>
</style>
android
android-edittext
android-support-library
android-design-library
android-textattributes
SamIAmHarris
sumber
sumber
Jawaban:
Tetapkan
android:textColorHint
dalam tema aplikasi Anda:Sumber
sumber
EditText
untuk warna petunjuk diatur pada semua input dalam tampilan ... belum menemukan perbaikan apa pun untuk itu (requestFocus()
danperformClick()
sayangnya, jangan lakukan triknya).Buat gaya kustom di style.xml
Kemudian dalam file xml tata letak Anda, tambahkan atribut tema seperti di bawah ini
Semoga ini berhasil
sumber
Tambahkan properti textColorHint ke teks edit Anda
atau warna apa pun yang Anda inginkan
sumber
punya masalah yang sama. Diselesaikan dengan meletakkan garis-garis ini dalam tema induk .
Jika Anda meletakkan ini
dalam gaya yang terpisah dan menerapkannya ke TextInputLayout atau Edittext tidak akan muncul Anda HARUS menempatkannya dalam tema induk aplikasi.
sumber
Saya tidak yakin apa yang menyebabkan masalah Anda, karena kode ini sangat cocok untuk saya. Saya pikir itu ada hubungannya dengan menggunakan namespace xml yang benar (
xmlns
). Saya tidak yakin apakah menggunakan android.support.design tanpa atribut namespace xml didukung. Atau ada hubungannya dengantextColorHint
atribut yang Anda gunakan pada EditText itu sendiri.Tata letak:
Gaya:
sumber
@style/TextAppearance.Design.Hint
, jadi Anda mungkin ingin menggunakannya sebagaiparent
daripada@android:style/TextAppearance
@style/TextAppearance.AppCompat
Lihat kode di bawah ini bekerja untuk saya. Tapi itu akan mempengaruhi semua warna kontrol Anda.
sumber
Di TextInputLayout yang menyimpan EditText, tambahkan:
sumber
Banyak jawaban tetapi hanya perlu satu baris untuk ini:
android: textColorHint = "# 000000"
sumber
android: textColorHint = "# FFFFFF" terkadang berfungsi dan terkadang tidak. Bagi saya di bawah ini solusinya bekerja dengan sempurna
Coba Kode Di Bawah Ini Berhasil dalam file XML Anda dan tema TextLabel didefinisikan dalam style.xml
Dalam Styles Folder Kode TextLabel
Jika Anda hanya ingin mengubah warna label dalam keadaan salah maka colorAccent, colorControlNormal dan colorControlActivated tidak diperlukan
sumber
Anda dapat menggunakannya
android:textColorHint="@color/color_black"
di dalam.TextInputlayout
Ini bekerja untuk saya.sumber
Menurut ini: https://code.google.com/p/android/issues/detail?id=176559
Coba ini:
Ini bekerja di 23.1.1
sumber
Dengan pustaka Komponen Bahan Anda dapat menyesuaikan
TextInputLayout
warna teks petunjuk menggunakan:Dalam tata letak:
app:hintTextColor
atribut: warna label ketika diciutkan dan bidang teks aktifandroid:textColorHint
atribut: warna label di semua negara bagian bidang teks lainnya (seperti istirahat dan dinonaktifkan)Sesuatu seperti:
sumber
Sepertinya tampilan induk memiliki gaya untuk pustaka pihak ke-3 yang menyebabkan EditText menjadi putih.
Setelah saya menghapus ini semuanya bekerja dengan baik.
sumber
coba ini semoga ini membantu
sumber
terlambat tetapi mungkin membantu seseorang yang saya lakukan seperti ini
sumber
ubah colorAccent Anda ke warna yang Anda inginkan di dalam Theme Anda, ini akan mengubah baris EditText Anda, Kursor serta petunjuk Anda
atau Anda juga bisa memasukkan gaya ini ke dalam style.xml Anda
kemudian di dalam TextInputLayout Anda, Anda bisa meletakkannya seperti ini
sumber
Gunakan textColorHint untuk mengatur warna yang Anda inginkan sebagai warna Petunjuk untuk EditText. Masalahnya adalah Petunjuk dalam EditText menghilang bukan ketika Anda mengetik sesuatu, tetapi segera ketika EditText mendapatkan fokus (dengan animasi keren). Anda akan melihat ini dengan jelas ketika Anda mengalihkan fokus dan ke EditText.
sumber
Dari dokumentasi:
Coba setting
android:hint
danapp:hintTextColor
padaTextInputLayout
bukan padaTextInputEditText
.sumber
Anda harus mengatur warna petunjuk pada TextInputLayout.
sumber
sumber
Coba kode di bawah ini:
Warna cahaya tinggi adalah Putih:
style: TextStyle
sumber
Inilah pengalaman saya dengan masalah serupa ini & solusi yang diperlukan.
Kebutuhan:
TextInputEditText
(dapat mengatakan beberapa harus transparan dan beberapa tidak harus tetapi menggunakan warna khusus untuk berbagai acara)Masalah yang dihadapi:
android:textColorHint
tidak berfungsi seperti yang diminta.Solusi mencoba, yang gagal:
android:textColorHint
dengan gaya dan diterapkanTextInputEditText
. Tidak ada hasil atau perbedaan.android:textColorHint
dalam tema aplikasi diterapkan. Memang membantu tetapi sekarang ditetapkan untuk seluruh aplikasi. (Tidak sesuai dengan kebutuhan)Setelah banyak RnD, SOLUSI terbaik yang ditemukan adalah dalam artikel yang menggambarkan bahwa kita perlu menerapkan tema ke
TextInputLayout
atau ke tampilan orang tua daripada hanya menerapkan gaya keTextInputEditText
atau ke tampilan orang tua itu.Silakan periksa TextInputLayout tepat Mereka yang mengatakan bahwa bagaimana kita berada di jalur yang salah.
sumber
Ketika saya mencoba untuk mengatur atribut tema ke TextInputLayout, tema itu juga diterapkan pada tampilan anak edittext, yang saya tidak inginkan.
Jadi solusi yang berhasil bagi saya adalah menambahkan gaya kustom ke properti "app: hintTextAppearance" dari TextInputLayout.
Di styles.xml tambahkan gaya berikut:
Dan terapkan gaya ini ke properti "app: hintTextAppearance" dari TextInputLayout seperti di bawah ini:
sumber
Jika Anda menggunakan pustaka desain Bahan androidx baru
com.google.android.material
maka Anda dapat menggunakan colorstatelist untuk mengontrol warna teks petunjuk dalam keadaan fokus, melayang dan default sebagai berikut. (terinspirasi oleh ini )Dalam
res/color/text_input_box_stroke.xml
put sesuatu seperti berikut ini:Kemudian di Anda,
styles.xml
Anda akan menempatkan:Terakhir, tunjukkan gaya Anda di aktual.
TextInputLayout
Untuk beberapa alasan, Anda juga perlu menetapkanandroid:textColorHint
warna teks petunjuk standar:sumber
jika Anda menggunakan pustaka desain Material. Saat ini, saya menggunakan versi
1 - Tetapkan warna saat TextInputLayout sedang beristirahat.
2 - Tetapkan warna saat TextInputLayout mengambang / fokus / disadap.
3 - Tetapkan warna garis di bawah TextInputLayout.
4 - Atur warna kesalahan di bawah TextInputLayout.
sumber
Saya hanya ingin mengubah warna label saat diangkat ke atas. Tetapi pengaturan
textColorHint
mengubah warna di setiap negara. Jadi, ini berhasil bagi saya:Ini akan mengubah warna saat input difokuskan.
sumber