Anda dapat melakukan penghitungan karakter dari xml itu sendiri menggunakan pembungkus TextInputLayout untuk EditText yang diperkenalkan di SupportLibrary v23.1
Cukup bungkus EditText Anda dengan TextInputLayout dan setel CounterEnabled menjadi true dan Setel counterMaxLength.
<android.support.design.widget.TextInputLayout
android:id="@+id/textContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:counterEnabled="true"
app:counterMaxLength="20"
>
<EditText
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Text Hint"
/>
</android.support.design.widget.TextInputLayout>
Anda akan mendapatkan efek material seperti ini
Anda dapat menggunakan counterOverflowTextAppearance , counterTextAppearance untuk mengatur gaya penghitung.
EDIT
Dari dokumentasi Android.
Kelas TextInputEditText disediakan untuk digunakan sebagai turunan dari tata letak ini. Menggunakan TextInputEditText memungkinkan TextInputLayout memiliki kontrol yang lebih besar atas aspek visual dari input teks apa pun. Contoh penggunaannya adalah sebagai berikut:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/form_username"/>
</android.support.design.widget.TextInputLayout>
TextInputLayout TextInputEditText