我为编辑文本设置了轮廓样式,但设置不正确

I set the outlined style for edit text but it did not set correctly

我为编辑文本设置了轮廓样式,但设置不正确。

xml代码(编辑文本):

<androidx.appcompat.widget.AppCompatEditText
    android:id="@+id/editTextTitle"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="60dp"
    android:ems="10"
    android:hint="عنوان"
    android:inputType="textPersonName"
    android:minHeight="48dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.502"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<androidx.appcompat.widget.AppCompatEditText
    android:id="@+id/editTextDescription"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
    android:layout_width="300dp"
    android:layout_height="50dp"
    android:layout_marginTop="32dp"
    android:ems="10"
    android:hint="متن یادداشت"
    android:inputType="textMultiLine"
    android:maxLines="8"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.502"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/editTextTitle" />

应用图片:

有什么问题?

您正在 AppCompatEditText 上设置大纲样式,您需要 TextInputLayout 并在那里设置它。

 <com.google.android.material.textfield.TextInputLayout
    android:id="@+id/outlinedTextField"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">

    <androidx.appcompat.widget.AppCompatEditText
        android:id="@+id/editTextTitle"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="60dp"
        android:ems="10"
        android:hint="عنوان"
        android:inputType="textPersonName"
        android:minHeight="48dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.502"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</com.google.android.material.textfield.TextInputLayout>

第一个正在使用 TextInputLayout,第二个是你现在拥有的。

Material Design reference

确保您的 activity 主题是 Material 主题。如果您没有使用 Material 主题,这将无法正常工作。

就像,检查 activity 主题,

进入主题。您的主题必须继承自,

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">