Saya menggunakan perpustakaan desain android TextinputLayout
. Tapi tidak bisa menyesuaikan warna petunjuk, warna label dan warna garis bawah EditText
di dalamnya TextinputLayout
. Tolong bantu.
android
android-design-library
android-textinputlayout
Nitesh Verma
sumber
sumber
Jawaban:
Ubah warna garis bawah:
Untuk info lebih lanjut periksa utas ini .
Ubah warna petunjuk saat mengambang
dan gunakan seperti ini:
Ubah warna petunjuk jika itu bukan label mengambang:
Terima kasih kepada @AlbAtNf
sumber
android:textColorHint
keTextInputLayout
dalam XML.Berdasarkan jawaban Fedor Kazakov dan lainnya, saya membuat konfigurasi default.
styles.xml
activity_layout.xml
Fokus:
Tanpa fokus:
Pesan eror:
sumber
Dengan Material Components Library Anda dapat menggunakan file
com.google.android.material.textfield.TextInputLayout
.Anda dapat menerapkan gaya kustom untuk mengubah warna.
Untuk mengubah warna petunjuk Anda harus menggunakan atribut ini:
hintTextColor
danandroid:textColorHint
.Anda harus menggunakan selektor untuk file
android:textColorHint
. Sesuatu seperti:Untuk mengubah warna garis bawah Anda harus menggunakan atribut:
boxStrokeColor
.Juga dalam hal ini Anda harus menggunakan selektor. Sesuatu seperti:
Anda juga dapat menerapkan atribut ini dalam tata letak Anda:
sumber
boxStrokeColor
. Dalam contohselector_stroke_color
khususnya baris terakhir:<item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
Tambahkan atribut ini di tag Edittext dan nikmati:
sumber
Entri Blog ini menjelaskan berbagai aspek gaya
EditText
danAutoCompleteTextView
dibungkus olehTextInputLayout
.Untuk
EditText
dan AppCompat lib 22.1.0+ Anda dapat menyetel atribut tema dengan beberapa setelan terkait tema:dan terapkan pada
EditText
:Untuk
AutoCompleteTextView
hal-hal yang lebih rumit karena membungkusnyaTextInputLayout
dan menerapkan tema ini merusak perilaku label mengambang. Anda perlu memperbaikinya dalam kode:dan di
Activity.onCreate
:sumber
Jika Anda ingin mengubah bar garis warna / dan warna sedikit teks dari
TextInputLayout
(apa warna aksen biasanya adalah), kemudian hanya menciptakan gaya ini:Kemudian terapkan ke Anda
TextInputLayout
sebagai tema :Ini pada dasarnya menetapkan tema (bukan gaya) ke satu tampilan (berlawanan dengan seluruh aktivitas).
sumber
Anda dapat mengganti gaya ini untuk tata letak
Dan Anda juga bisa mengubah gaya item EditText bagian dalam juga.
sumber
menerapkan gaya ini ke TextInputLayout
sumber
android:theme="@style/EditScreenTextInputLayoutStyle"
A
TextinputLayout
bukanlah sebuah pandangan, tapi sebuahLayout
, seperti yang dijelaskan dengan sangat baik oleh Dimitrios Tsigouris dalam posting blognya di sini . Oleh karena itu, Anda tidak memerlukan fileStyle
, yangViews
hanya untuk , tetapi gunakan fileTheme
. Mengikuti posting blog, saya berakhir dengan solusi berikut:Mulailah
styles.xml
dengan AndaDan dalam tata letak Anda tambahkan
sumber