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.

 
     
    
 
     
     
    