【问题标题】: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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-18
        相关资源
        最近更新 更多