首页 > 解决方案 > TextInputLayout 正在覆盖 TextInputEditText

问题描述

这是xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Spinner
        android:id="@+id/spinnerFreq"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/textInputLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/start_freq_text"
        android:textColorHint="@android:color/black">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/editTextStartFreq"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/start_freq_edit_text"
            android:textColor="@android:color/black" />
    </com.google.android.material.textfield.TextInputLayout>

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/textInputLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/end_freq_text"
        android:textColorHint="@android:color/black">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/editTextEndFreq"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/end_freq_edit_text"
            android:textColor="@android:color/black" />
    </com.google.android.material.textfield.TextInputLayout>

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/textInputLayout3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/length_seconds_text"
        android:textColorHint="@android:color/black">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/editTextLength"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/length_seconds_edit_text"
            android:textColor="@android:color/black" />
    </com.google.android.material.textfield.TextInputLayout>

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/textInputLayout4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/min_freq_text"
        android:textColorHint="@android:color/black">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/editTextMinFreq"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/min_freq_edit_text"
            android:textColor="@android:color/black" />
    </com.google.android.material.textfield.TextInputLayout>

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/textInputLayout5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/max_freq_text"
        android:textColorHint="@android:color/black">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/editTextMaxFreq"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/max_freq_edit_text"
            android:textColor="@android:color/black" />
    </com.google.android.material.textfield.TextInputLayout>

</LinearLayout>

我尝试在 LinearLayout 和顶部 TextInputLayout 正确呈现之前使用 ConstraintLayout。它下面的完全一样,所以我不确定它们为什么不起作用。

在 TextInputLayout 被点击之前,TextInputLayout 提示不会向上移动是一个问题。有没有办法让它保持领先?

是否有我需要设置的属性或我需要以某种方式布置它们?Material io 页面上的文档在文本字段页面上没有布局示例。https://material.io/develop/android/components/text-fields

标签: androidxml

解决方案


从 中删除提示TextInputEditText并在app:placeholderText中使用TextInputLayout

    <com.google.android.material.textfield.TextInputLayout
        android:hint="Label"
        app:placeholderText="Placeholder Text"

在此处输入图像描述

注意:它至少需要 version 1.2.0-alpha03


推荐阅读