我有一个固定高度的输入文本字段(TextInputLayout 的 EditText)。 我想将提示文本对齐到视图的左上角。
问题:提示文本始终显示在center_verticle,但我想将其显示在左上角。
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/aboutWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="About Sponsor">
<EditText
android:id="@+id/et_about_sponsor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="250dp"
android:textAlignment="viewStart"
android:layout_centerHorizontal="true"
android:gravity="start|top"
android:imeOptions="actionDone"
android:inputType="textMultiLine|textCapSentences"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textSize="@dimen/font_medium" />
</com.google.android.material.textfield.TextInputLayout>
根据这个 github 问题,您需要将 android:minLines 设置为至少 2 以及 android:gravity="top"。
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/txtInput"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="Hint">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top"
**android:minLines="2"**
/>
</com.google.android.material.textfield.TextInputLayout>
您可以使用:
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="About Sponsor">
<com.google.android.material.textfield.TextInputEditText
android:minHeight="250dp"
android:textAlignment="viewStart"
android:layout_centerHorizontal="true"
android:gravity="start|top"
android:imeOptions="actionDone"
android:inputType="textMultiLine|textCapSentences"
.../>
</com.google.android.material.textfield.TextInputLayout>
尝试将
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
样式添加到 TextInputLayout
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/aboutWrapper"
android:layout_width="match_parent"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_height="wrap_content"
android:hint="About Sponsor">
<EditText
android:id="@+id/et_about_sponsor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="250dp"
android:textAlignment="viewStart"
android:layout_centerHorizontal="true"
android:gravity="start|top"
android:imeOptions="actionDone"
android:inputType="textMultiLine|textCapSentences"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textSize="@dimen/font_medium" />
</com.google.android.material.textfield.TextInputLayout>
你可以使用
<EditText
android:id="@+id/editTextTextPersonName5"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:ems="10"
android:hint="Message"
android:gravity="left|top"
android:inputType="textAutoComplete"
android:textAlignment="textStart" />
这里
gravity
属性将有助于将文本对齐到您想要的位置。
您可以参考这里
试试这个 android:gravity="center"
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="Enter your email"
android:inputType="textEmailAddress" />
</com.google.android.material.textfield.TextInputLayout>