Tidak perlu menggunakan perpustakaan pihak ketiga karena Google memperkenalkan TextInputLayoutsebagai bagian dari design-support-library.
Berikut contoh dasar:
Tata letak
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your name" />
</android.support.design.widget.TextInputLayout>
Catatan: Dengan menetapkan app:errorEnabled="true"sebagai atribut, atribut TextInputLayoutitu tidak akan mengubah ukurannya setelah kesalahan ditampilkan - jadi pada dasarnya memblokir ruang.
Kode
Dalam rangka untuk menunjukkan kesalahan di bawah EditTextAnda hanya perlu panggilan #setErrorpada TextInputLayout(TIDAK pada anak EditText):
TextInputLayout til = (TextInputLayout) findViewById(R.id.text_input_layout);
til.setError("You need to enter a name");
Hasil

Untuk menyembunyikan kesalahan dan mengatur ulang warna cukup panggil til.setError(null).
Catatan
Untuk menggunakan, TextInputLayoutAnda harus menambahkan yang berikut ke build.gradledependensi Anda :
dependencies {
compile 'com.android.support:design:25.1.0'
}
Pengaturan warna khusus
Secara default garis EditTextakan berwarna merah. Jika Anda perlu menampilkan warna berbeda, Anda dapat menggunakan kode berikut segera setelah Anda menelepon setError.
editText.getBackground().setColorFilter(getResources().getColor(R.color.red_500_primary), PorterDuff.Mode.SRC_ATOP);
Untuk menghapusnya cukup panggil clearColorFilterfungsi, seperti ini:
editText.getBackground().clearColorFilter();
EditText. Kemungkinan besar, Anda akan membutuhkan sesuatu yang membungkusEditTextatau menambahnya. Lihat github.com/rengwuxian/MaterialEditText .