Saya membuat EditText di file xml layout saya
Tapi saya ingin mengubah garis warna di EditText dari Holo menjadi (misalnya) merah. Bagaimana itu bisa dilakukan?
Ini adalah alat terbaik yang dapat Anda gunakan untuk semua tampilan dan banyak terima kasih GRATIS untuk @ Jérôme Van Der Linden .
Android Holo Colours Generator memungkinkan Anda untuk dengan mudah membuat komponen Android seperti EditText
atau pemintal dengan warna Anda sendiri untuk aplikasi Android Anda. Ini akan menghasilkan semua sembilan aset tambalan yang diperlukan ditambah drawable dan style XML terkait yang dapat Anda salin langsung ke proyek Anda.
PEMBARUAN 1
Domain ini tampaknya kedaluwarsa tetapi proyek ini merupakan sumber terbuka yang dapat Anda temukan di sini
Cobalah
gambar ini diletakkan di latar belakang EditText
android:background="@drawable/textfield_activated"
PEMBARUAN 2
Untuk API 21 atau lebih tinggi, Anda dapat menggunakan android:backgroundTint
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
android:backgroundTint="@android:color/holo_red_light" />
Perbarui 3
Sekarang Kami memiliki dukungan punggungAppCompatEditText
Catatan: Kita perlu menggunakan aplikasi: backgroundTint bukan Android: backgroundTint
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
app:backgroundTint="@color/blue_gray_light" />
Saya tidak suka jawaban sebelumnya. Solusi terbaik adalah menggunakan:
android:backgroundTint
untukEditText
bekerja hanya di API21 + . Karena itu, kita harus menggunakan perpustakaan dukungan danAppCompatEditText
.Catatan: kita harus menggunakan
app:backgroundTint
alih-alihandroid:backgroundTint
Versi AndroidX
sumber
Anda juga dapat dengan cepat mengubah warna garis bawah EditText dengan mewarnai latar belakang EditText seperti:
sumber
untuk API di bawah 21, Anda dapat menggunakan atribut tema dengan
EditText
memasukkan kode di bawah ini ke dalam file gayagunakan gaya ini
EditText
sebagaisumber
Secara pemrograman, Anda dapat mencoba:
sumber
saya pikir cara terbaik adalah dengan tema:
sumber
Untuk mengubah warna garis bawah Edittext:
Jika Anda ingin seluruh aplikasi membagikan gaya ini, maka Anda dapat melakukan hal berikut.
(1) buka file styles.xml. AppTheme Anda yang mewarisi induk dari Theme.AppCompat.Light.DarkActionBar (dalam kasus saya) akan menjadi induk dari semua file gaya mereka di aplikasi Anda. Ubah namanya menjadi "AppBaseTheme '. Buat gaya lain tepat di bawahnya yang memiliki nama AppTheme dan mewarisi dari AppBaseTheme yang baru saja Anda edit. Ini akan terlihat seperti berikut:
Kemudian ubah "colorAccent" ke warna apa pun yang Anda inginkan menjadi warna garis EditText Anda.
(2) Jika Anda memiliki folder nilai lain dengan style.xml, langkah ini sangat penting. Karena file itu akan mewarisi dari file xml induk Anda sebelumnya. Sebagai contoh, saya memiliki nilai-19 / styles.xml. Ini khusus untuk Kitkat dan di atas. Ubah induknya ke AppBaseTheme dan pastikan untuk menyingkirkan "colorAccent" sehingga tidak menimpa warna induknya. Anda juga perlu menyimpan item yang khusus untuk versi 19. Maka akan terlihat seperti ini.
sumber
Ini cukup sederhana (Diperlukan: Minimum API 21) ...
Keep Coding ........ :)
sumber
Warna garis ditentukan oleh
EditText
properti latar belakang. Untuk mengubahnya, Anda harus mengubahandroid:background
file tata letak.Saya harus mencatat bahwa gaya ini dicapai dengan menggunakan drawable 9-patch. Jika Anda melihat di SDK, Anda dapat melihat bahwa latar belakang
EditText
gambar ini:Untuk mengubahnya, Anda bisa membukanya dalam program manipulasi gambar dan mewarnainya dengan warna yang diinginkan. Simpan sebagai
bg_edit_text.9.png
dan kemudian taruh di folder yang dapat digambar. Sekarang Anda dapat menerapkannya sebagai latar belakang untuk yang AndaEditText
sukai:sumber
Anda dapat mengubah warna EditText secara terprogram hanya dengan menggunakan baris kode ini:
edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
sumber
Latar belakang widget bergantung pada level API .
ALTERNATIF 1
Anda dapat memberikan gambar khusus ke
EditText
latar belakang Anda denganGambar Anda akan terlihat seperti ini. Ini akan memberi Anda efek yang diinginkan.
ALTERNATIF 2
Setel xml ini ke
EditText
atribut latar belakang Anda .Ini akan memiliki tampilan dan nuansa yang sama dengan Anda
EditText
di setiap API.sumber
Anda dapat mengubah warna dengan mewarnai latar belakang
<EditText android:backgroundTint="@color/red"/>
sumber
drawable / bg_edittext.xml
Setel ke EditText
sumber
Gunakan metode ini .. dan modifikasi sesuai dengan nama tampilan Anda. Kode ini sangat bagus.
sumber
Jika Anda menginginkan garis datar, Anda dapat melakukannya dengan mudah dengan xml. Berikut ini adalah contoh xml:
Ganti bentuk dengan pemilih jika Anda ingin memberikan lebar dan warna yang berbeda untuk edittext fokus.
sumber
Pendekatan terbaik adalah dengan menggunakan
AppCompatEditText
denganbackgroundTint
atributapp
namespace. yaituketika kami menggunakannya
android:backgroundTint
hanya akan berfungsi di API21 atau lebih tetapiapp:backgroundTint
berfungsi di semua level API aplikasi Anda.sumber
Gunakan properti android: background untuk edittext itu. Lewati gambar folder yang dapat digambar ke sana. Sebagai contoh,
sumber
** itu salah lakukan dengan tampilan **
sumber
Coba cara berikut, ini akan mengonversi warna garis bawah EditText, ketika digunakan sebagai properti latar belakang.
sumber
Ini bisa dilakukan dengan memasukkan ini
android:theme="@style/AppTheme.AppBarOverlay
sebagai atribut untuk editText Anda dan menambahkan ini<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
ke gaya Andasumber