Tutorial Android Text Input Layout

Android TextInputLayout memungkinkan untuk menampilkan petunjuk sebagai label mengambang untuk bidang EditText ketika mendapat fokus.
Android TextInputLayout adalah tata letak dan dapat berisi widget EditText atau turunannya seperti AppCompatEditText, AutoCompleteTextView, EmojiEditText, ExtractEditText, GuidedActionEditText, dan SearchEditText.
TextInputLayout menunjukkan petunjuk anak sebagai label ketika petunjuk disembunyikan. Selain dukungan untuk label, TextInputLayout juga mendukung menampilkan pesan kesalahan, kata sandi keterlacakan toggling untuk bidang kata sandi, dan penghitung karakter.
Ketergantungan TextInputLayout
Untuk menggunakan TextInputLayout dalam aplikasi Anda, Anda harus terlebih dahulu menambahkan ketergantungan pada proyek Anda seperti yang ditunjukkan di bawah ini. TextInputLayout adalah bagian dari pustaka desain android.
 dependencies {
    . . .
    implementation 'com.android.support:design:26.1.0'
} 

TextInputEditText dengan TextInputLayout

TextInputEditText adalah subkelas dari EditText. Ini telah dibuat untuk digunakan dengan TextInpputLayout sehingga tata letak dapat mengontrol gaya bidang input.


Contoh TextInputLayout TextInputEditText
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android.support.design="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="zoftino.com.uicontrols.MainActivity">
    <android.support.design.widget.TextInputLayout
        android:id="@+id/name_til"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">
        <android.support.design.widget.TextInputEditText
            android:id="@+id/name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter Name" />
    </android.support.design.widget.TextInputLayout>
    <android.support.design.widget.TextInputLayout
        android:id="@+id/password_til"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android.support.design:passwordToggleEnabled="true"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/name_til">
        <EditText
            android:id="@+id/editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPassword" />
    </android.support.design.widget.TextInputLayout>
    <android.support.design.widget.TextInputLayout
        android:id="@+id/address_til"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android.support.design:counterEnabled="true"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/password_til">
        <android.support.design.widget.TextInputEditText
            android:id="@+id/address"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter Address" />
    </android.support.design.widget.TextInputLayout>
    <Button
        android:id="@+id/submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="24dp"
        android:text="Submit"
        android:onClick="submitForm"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/address_til" />
</android.support.constraint.ConstraintLayout>

Gaya Materi TextInputLayout

Di bawah layar adalah output dari tata letak di atas ketika tema aplikasi diatur ke salah satu tema materi aplikasi ringkas. Gambar-gambar menunjukkan petunjuk ketika TextInputEditText tidak fokus dan label ketika TextInputEditText foucused dan setelah nilai telah dimasukkan.
contoh textinputlayout android

contoh fokus textinputlayout android

Kesalahan TextInputLayout

TextInputLayout mendukung pesan kesalahan. Dengan menggunakan fitur ini, Anda dapat memberi tahu pengguna tentang masukan yang salah untuk mengedit bidang teks dengan mengatur pesan kesalahan pada TextInputLayout dan tampilan di UI.
Ketika kesalahan perlu ditampilkan untuk EditText tertentu, Anda perlu mendapatkan objek induk TextInputLayout dan memanggil metode setError di atasnya menyampaikan pesan kesalahan sebagai argumen untuk itu.

Kesalahan set TextInputLayout

 TextInputLayout til = (TextInputLayout) findViewById(R.id.address_til);
TextInputEditText tiet = (TextInputEditText) findViewById(R.id.address);
   if(tiet.getText().toString().isEmpty()){
    til.setError("Please enter valid address.");
}else{
    til.setError(null);
} 

TextInputLayout menghapus kesalahan

Setelah pesan kesalahan diatur pada objek TextInputLayout, itu tetap sampai dihapus. Untuk menghapus atau menghapus pesan kesalahan TextInputLayout, Anda perlu memanggil metode setError lewat pesan null atau kosong, dalam kondisi kode di atas lain menghilangkan pesan kesalahan.

Keluaran kesalahan TextInputLayout

contoh pesan kesalahan textinputlayout android

Konter Karakter Android TextInputLayout

TextInputLayout mendukung fitur counter dengan mana ia dapat menampilkan sejumlah karakter yang dimasukkan ke dalam kolom input. Untuk mengaktifkan penghitung, Anda perlu memanggil metode setCounterEnabled dengan mengirimkan nilai boolean yang benar ke dalam kode atau menyetel atribut xml counterEnabled.
Catatan, untuk menggunakan atribut TextInputLayout dalam tata letak xml, Anda perlu menentukan ruang nama untuk android.support.design dengan menyetelnya ke url skema res-auto Android seperti yang ditunjukkan di bawah ini.
 <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android.support.design="http://schemas.android.com/apk/res-auto"
   
    . . .
    <android.support.design.widget.TextInputLayout

        android.support.design:counterEnabled="true">
	. . .
    </android.support.design.widget.TextInputLayout>
</android.support.constraint.ConstraintLayout> 

Output counter karakter TextInputLayout

contoh counter contek teksin android

Android TextInputLayout Password Visibility Beralih

TextInputLayout mendukung fitur pengalih visibilitas kata sandi dengan mana pengguna dapat mengalihkan keterlihatan kata sandi. Fitur ini berlaku untuk bidang EditText kata sandi. Untuk mengaktifkan sakelar pengaktifan kata sandi, Anda perlu memanggil metode setPasswordVisibilityToggleEnabled meneruskan nilai boolean yang benar ke dalam kode atau menyetel atribut xml sandiToggleEnabled.
Pengguna dapat mengeklik tombol pengalih visibilitas kata sandi untuk melihat kata sandi dalam teks biasa atau formulir terselubung.
Anda dapat menyesuaikan tombol pengalih visibilitas kata sandi dengan menyetel atribut setPasswordVisibilityToggleDrawable ke gambar kustom Anda.
Android textinputlayout kata kunci keterlihatan kata sandi

TextInputLayout Custom Material Style

Anda dapat menentukan gaya materi kustom dan mengubah warna petunjuk dan mengedit teks menggarisbawahi warna dengan mengatur colorControlActivated, warna counter dengan mengatur textColorSecondary, warna pesan kesalahan dengan mengatur colorControlNormal dan kata kunci tombol visibilitas kata sandi dengan mengatur colorForeground.
<style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorControlActivated">#e91e63</item>
    <item name="android:colorForeground">#33691e</item>
    <item name="colorControlNormal">#f57f17</item>
    <item name="android:textColorSecondary">#673ab7</item>
</style>
 
contoh gaya kustom textinputlayout android

Keep Coding ~

0 Response to "Tutorial Android Text Input Layout"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel