始终使文本输入布局中的前缀文本像提示一样可见

Emm*_*ngo 3 prefix android-studio android-textinputlayout textinputlayout

我在文本输入布局中有一个前缀文本,但仅当我单击文本输入编辑文本(位于具有前缀文本的文本输入布局内)时,它才会显示。如何使前缀文本始终显示提示

下面是我的文本输入编辑文本


<com.google.android.material.textfield.TextInputLayout
                android:id="@+id/til_number"
                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/til_country"
                android:layout_marginStart="30dp"
                android:layout_marginLeft="30dp"
                android:layout_marginTop="10dp"
                android:layout_marginEnd="30dp"
                android:layout_marginRight="30dp"
                android:layout_marginBottom="10dp"
                android:padding="5dp"
                app:boxBackgroundColor="#EFEFF2"
                app:prefixText="+01&#160;-&#160;"
                app:shapeAppearanceOverlay="@style/RoundedTextInputLayout">

                <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/et_first_name"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="@string/number"
                    android:inputType="phone"
                    android:maxLength="100"
                    android:textSize="15sp" />

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


Run Code Online (Sandbox Code Playgroud)

我想实现的是

+01&#160;-&#160;

Run Code Online (Sandbox Code Playgroud)

前缀中的上述文本应始终显示

我尝试执行以下操作


app:prefixTextColor="@color/secondaryDarkColor"

Run Code Online (Sandbox Code Playgroud)

Jav*_*tar 7

如果您检查视图的逻辑,您将看到前缀文本将在以下情况下被隐藏:

prefixTextView.setVisibility((prefixText != null && !isHintExpanded()) ? VISIBLE : GONE);

添加app:expandedHintEnabled="false"到您的 TextInputLayout 中,您的前缀文本将保持可见:

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/text_input_layout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="16dp"
        app:expandedHintEnabled="false"
        app:prefixText="MyPrefix: ">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/text_input_edit_text1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="My optional Hint" />

    </com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

注意:当然提示会像这样显示在顶部。