KJEjava48
KJEjava48

Reputation: 2055

How to make Edit Text hint appear when typing

I would like for my app to be able to display different hints in the edittext at different times, so i have to set the hint pro-grammatically at each times as below.

editText.setHint("Hint 1");

But the problem is when i starts typing the hint starts disappearing.I want to show this hint every time.If i set the hint in xml it will not disappear while typing, but how to do this in my case.

Upvotes: 5

Views: 13099

Answers (6)

Uthaya
Uthaya

Reputation: 373

You can't display while typing text in edit text hint in android have default functionality

<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>

Here android provide default functionality while typing text in edit text the hint above edit text, You can also set Hint via programmatically

 EditText. setHint ("Hint 1");

Upvotes: 1

Lior
Lior

Reputation: 842

    <!--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>

And dont forget adding this line to your gradle file

 compile 'com.android.support:design:23.4.0'

Upvotes: 0

Amir Ziarati
Amir Ziarati

Reputation: 15097

the best way to do this is to use TextInputLayout.

https://www.bignerdranch.com/blog/becoming-material-with-android-design-support-library/

Upvotes: 0

Ravi Sahu
Ravi Sahu

Reputation: 85

what you are expecting is not possible,since we have to how what user is writing on editext. Now a days https://github.com/hardik-trivedi/FloatingLabel this type of hints are more popular,you can try above link.

Upvotes: 2

Alex Chengalan
Alex Chengalan

Reputation: 8281

Either you should consider to change to TextInputLayout(Strongly recommended this. Here is an example too.)

or

make relative layout with EditText for input and TextView for hint inside.Change the textview according to your needs.

<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>

Upvotes: 4

Wishmaster
Wishmaster

Reputation: 870

TextInputLayout give powerful material features to EditText. Main feature is floating hint. See doc here https://developer.android.com/reference/android/support/design/widget/TextInputLayout.html

Upvotes: 1

Related Questions