I'm trying to fit the TextInputEditText to the whole screen, but it's not without problems:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context=".MainActivity">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:counterEnabled="true"
app:counterMaxLength="1000"
app:passwordToggleEnabled="false"
app:endIconMode="none">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/edit_text"
android:hint="Type here..."
android:layout_width="match_parent"
android:layout_height="match_parent"
android:maxLength="1000"
android:gravity="top"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
Input type:
TextInputEditText tv = findViewById( R.id.edit_text );
tv.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE );
The result is that the counter is gone and hint appears in the middle. If I change to wrap content it's back to normal behavior. Example:
So basically I'll be satisfied with just showing the counter, aligning the hint to the top is secondary.