【问题标题】:TextInputEditText hint is covered by box outlineTextInputEditText 提示被框轮廓覆盖
【发布时间】:2020-12-01 14:42:57
【问题描述】:
我使用TextInputEditTexts 作为文本输入,当我选择它们时,提示会向上移动,但会被框的轮廓覆盖。有谁知道为什么会这样?
照片:
代码:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/title_layout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/grey"
android:theme="@style/OutlinedEditText"
app:boxStrokeColor="@color/blue"
app:hintTextColor="@color/blue"
app:layout_constraintTop_toBottomOf="@id/cover_art">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:hint="@string/title"
android:inputType="textCapWords" />
</com.google.android.material.textfield.TextInputLayout>
【问题讨论】:
标签:
android
android-layout
kotlin
material-components-android
android-textinputlayout
【解决方案1】:
删除在TextInputEditText
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
通过这种方式,您可以在主容器 (TextInputLayout) 和 EditText 之间添加边距
用途:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/title_layout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:hint="...."
...
>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="50dp"
android:inputType="textCapWords" />
</com.google.android.material.textfield.TextInputLayout>
【解决方案2】:
您将android:hint="@string/title" 属性放在com.google.android.material.textfield.TextInputEditText 中。
android:hint="@string/title" 应该放在com.google.android.material.textfield.TextInputLayout
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/title_layout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/grey"
android:theme="@style/OutlinedEditText"
app:boxStrokeColor="@color/blue"
app:hintTextColor="@color/blue"
android:hint="@string/title"
app:layout_constraintTop_toBottomOf="@id/cover_art">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:inputType="textCapWords" />
</com.google.android.material.textfield.TextInputLayout>