如何在键入时显示编辑文本提示

问题描述 投票:5回答:6

我希望我的应用能够在不同的时间在edittext中显示不同的提示,所以我必须每次在语法上如下设置提示。

editText.setHint("Hint 1");

但是问题是,当我开始键入提示时,提示开始消失。我想每次都显示此提示。如果我在xml中设置提示,则键入时不会消失,但在我的情况下该如何做。

android android-edittext
6个回答
4
投票

要么您应该考虑更改为TextInputLayout(强烈建议使用此Here is an example too.

使用EditText作为相对布局,并使用TextView作为内部提示。根据需要更改textview。

<RelativeLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Some text"
            android:layout_alignParentLeft="true"
            android:id="@+id/editText1"
            android:layout_gravity="center"
            />
    <TextView
            android:id="@+id/text_hint"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:text="yourHint"
            android:textSize="14sp"
            android:layout_marginRight="10dp"
            android:textColor="@color/customColor"
            />
</RelativeLayout>

2
投票

您的期望是不可能的,因为我们必须了解用户在editext上的书写方式。现在几天https://github.com/hardik-trivedi/FloatingLabel这种类型的提示比较流行,您可以尝试上面的链接。


1
投票

TextInputLayoutEditText提供强大的素材特征。主要功能是浮动提示。在此处查看文档https://developer.android.com/reference/android/support/design/widget/TextInputLayout.html


1
投票

您在编辑文本中键入文本时无法显示提示在android中具有默认功能

<android.support.design.widget.TextInputLayout
        android:theme="@style/TextLabel"
        android:id="@+id/input_layout_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/username_edit_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@null"
            android:hint="Email Address"
            android:inputType="textEmailAddress"
            android:translationY="10dp"
            android:textColor="@color/white"
            android:textColorHint="@color/white"
            android:textSize="@dimen/font_13"/>
</android.support.design.widget.TextInputLayout>

这里android提供默认功能,同时在编辑文本中输入文本,在编辑文本上方的提示,您也可以通过编程设置提示]

 EditText. setHint ("Hint 1");

0
投票

最佳方法是使用TextInputLayout。


0
投票
    <!--EMAIL-->
<android.support.design.widget.TextInputLayout
    android:id="@+id/email_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextLabel">

    <EditText
        android:id="@+id/etUserName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/login_screen_email_hint"
        android:imeOptions="actionNext"
        android:inputType="textEmailAddress"
        android:maxLines="1"
        android:nextFocusDown="@+id/etPassword"
        android:singleLine="true"
        android:textColor="@android:color/white"
        android:textColorHighlight="@android:color/white"
        android:textColorHint="@android:color/white" />

</android.support.design.widget.TextInputLayout>
© www.soinside.com 2019 - 2024. All rights reserved.