Custom Position of Hint in Edit Text box.

為{幸葍}努か 提交于 2019-12-04 00:48:59

You can set the position of the text using the "gravity" attribute (as noted at http://developer.android.com/reference/android/widget/TextView.html#setGravity(int)). So to put the text at the bottom you would have;

android:gravity="bottom"

And to answer your bonus question; No, you can't display the hint when text is entered into the edit text view. Displaying the hint only when the box is empty is the defined behaviour as noted at http://developer.android.com/reference/android/widget/TextView.html#setHint(int)

(and yes, I know the links are for TextView, but EditText derives all of its' text positioning and hint handling functionality from TextView).

Pedram Ashofteh Ardakani

Actually there is a way to prevent hint from hiding, and it's a cool one :-)

It gives you the Floating Label look with smooth animation very easily and it's from android itself. No extra libraries and stuff.

Try this:

<android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Touch me and I'll fly!"/>
</android.support.design.widget.TextInputLayout>

You can change the behaviour using other xml tags like android:gravity="start|center|end" and others.

As a bonus, you can use error messages with it :-) Here's the link to that question: https://stackoverflow.com/a/30953551/6474744

And sorry I do not have enough reputatuion to post images, so help yourself:

http://i0.wp.com/androidlift.info/wp-content/uploads/2015/09/Screenshot_2015-09-28-17-03-561.png

Enjoy :-)

The problem with using both android:gravity and android:hint is that they are inter-linked with regard to cursor position.When you position the hint using gravity and you start entering text, it is entered in the same position as the your hint which is a problem if you want it to start traditionally on the top-left corner.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!