如何在EditText中显示提示文字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在EditText中显示提示文字相关的知识,希望对你有一定的参考价值。

参考技术A 在EditText内部显示提示文字,这部分被锁,不可删除或修改,文字在后面输入。
1.
一般可透过android:drawableLeft属性来实现。首先做一个带有提示文字的图片,即提示文字当作图片来显示,透过android:drawableLeft指定资源的ID。这种方法不灵活,不可随意更改提示文字,需要更换图片。
2.
2.透过android:paddingLeft属性和Canvas来实现。具体是:编写一个类继承自EditText,覆盖其中的onDarw()方法,在该方法中编写提示文字。
3.
protected
void
onDraw(Canvas
canvas)
4.
Paint
paint
=
new
Paint();
5.
paint.setTestSize(18);
6.
paint.setColor(Color.GRAY);
7.
//编写提示文字。
8.
canvas.drawText(“提示文字:”,2,getHeight()/2+5,paint);
9.
super.onDraw(canvas);
10.

编写完提示文字后,在提示文字后面输入文字,需要使用android:paddingLeft属性根据提示文字的宽度设定开始输入文字的位置。

Android:单行中的EditText提示

【中文标题】Android:单行中的EditText提示【英文标题】:Android: EditText hint in single line 【发布时间】:2011-06-19 18:14:43 【问题描述】:

为了在EditText 中设置单行,我们使用android:singleLine="true",但我想为提示文本设置单行,它很大,我想在一行中显示它:

http://google.myopenid.***.com

我正在使用以下代码:

<EditText android:id="@+id/editText1"
    android:layout_ 
    android:layout_ 
    android:hint="@string/defaultUrl"
    android:singleLine="true" />

注意:defaultUrl 是动态且非常长的 URL。

【问题讨论】:

所以你希望提示 url 只显示为一行? 您在一行中使用了这么长的提示文本,当用户无法一次阅读所有内容时是否有意义? 我试图只显示小网址,然后像 google.com/... 【参考方案1】:

你可以试试

android:maxLines="1"

【讨论】:

我已经试过了,还是不行。感谢您的支持。如果有任何其他想法或可以告诉我如何自定义课程。【参考方案2】:

你可以使用

android:ellipsize="end"

android:maxLines="1"

在单行中显示您的提示文本,但您将无法看到整个文本,因为 android:ellipsize="end" 截断末尾的文本。

【讨论】:

【参考方案3】:

同样的问题。

解决办法:

EditText.setHint("hint content".replace("\n"," "))

【讨论】:

这没有提供问题的答案。一旦你有足够的reputation,你就可以改为comment on any post,提供answers that don't require clarification from the asker

以上是关于如何在EditText中显示提示文字的主要内容,如果未能解决你的问题,请参考以下文章

如何在 EditText 中将提示更改为标签 [关闭]

如何在 EditText 中隐藏下划线

android如何改变editText控件中部分文字的格式

同时在editText中提示和文本

我们如何在 EditText 边框上写文字? [复制]

android开发: EditText中插入的相册图片如何保存在数据库里,查看的时候又如何读取?