编辑文本框中提示的自定义位置。

Posted

技术标签:

【中文标题】编辑文本框中提示的自定义位置。【英文标题】:Custom Position of Hint in Edit Text box. 【发布时间】:2011-03-11 19:32:02 【问题描述】:

我想知道是否有任何方法可以在“编辑文本”视图的底部获得提示——然后用户开始在框顶部输入文本。

作为一个额外的问题,有什么方法可以让提示在用户开始输入文本后不会消失。

【问题讨论】:

【参考方案1】:

您可以使用“重力”属性设置文本的位置(如http://developer.android.com/reference/android/widget/TextView.html#setGravity(int) 所述)。因此,要将文本放在底部;

android:gravity="bottom"

并回答您的奖金问题;不,当文本输入到编辑文本视图中时,您无法显示提示。仅当框为空时才显示提示是定义的行为,如 http://developer.android.com/reference/android/widget/TextView.html#setHint(int) 中所述

(是的,我知道这些链接是针对 TextView 的,但 EditText 的所有文本定位和提示处理功能都来自 TextView)。

【讨论】:

谢谢,我想是这样的。我试图使用 TextWatcher 功能在文本框底部显示一个实时文本计数器作为提示。我已经得到了实时文本计数器和 android:gravity 的东西——但是我认为将提示放在 EditText 字段中会很酷......太糟糕了,它无法完成。【参考方案2】:

其实有一种方法可以防止提示隐藏,而且很酷:-)

它很容易为您提供具有流畅动画的浮动标签外观,并且它来自 android 本身。没有额外的库和东西。

试试这个:

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

您可以使用其他 xml 标记(如 android:gravity="start|center|end" 等)来更改行为。

作为奖励,您可以使用错误消息 :-) 这是该问题的链接:https://***.com/a/30953551/6474744

抱歉,我没有足够的声誉来发布图片,所以请自助:

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

享受:-)

【讨论】:

谢谢,这很酷,它正在工作,更重要的是,它与接受的答案相反,上面写着“并回答您的奖励问题;不,输入文本时无法显示提示编辑文本视图。仅当框为空时才显示提示是定义的行为,如“ 您需要为 TextInputLayout 添加设计支持库: implementation 'com.android.support:design:28.0.0'【参考方案3】:

同时使用 android:gravity 和 android:hint 的问题在于它们在光标位置方面是相互关联的。当您使用重力定位提示并开始输入文本时,它会在与如果您希望它传统上从左上角开始,那么您的提示将是一个问题。

【讨论】:

以上是关于编辑文本框中提示的自定义位置。的主要内容,如果未能解决你的问题,请参考以下文章

在 wpf 中的自定义样式上,文本框的文本始终为空

C# 编辑框添加灰色提示信息

如何使用验证“唯一”访问 Laravel 中的自定义文本框名称?

qt中如何判断光标在哪个文本框中啊

在文本框中捕获 TAB 键 [关闭]

如何在winforms文本框中获取默认垂直滚动条的位置