带有不可选灰色前缀的EditText

时间:2011-03-29 09:14:34

标签: android android-edittext

我正在寻找一种在EditText中将灰色文本作为前缀的方法。此文本不可选。 当您使用Gmail撰写邮件时,它有点像“收件人”字段。唯一(视觉)差异是,当您开始输入时,此文本会消失。

在Android中有什么技巧可以实现吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以使用零件“EUR 2500”的图像。这样您就可以在编辑框中显示,而不会影响零件的其余部分。请遵循以下代码:

Drawable editTextDrawable = context.getResources().getDrawable(imageId);
    editTextDrawable.setBounds(0, 0, editTextDrawable.getIntrinsicWidth(),
            editTextDrawable.getIntrinsicHeight());

drawable可以在edittext中使用,如下所示:

editTxtItemName.setCompoundDrawables(,
            ListViewConstants.editTextDrawable, null, null, null);

答案 1 :(得分:0)

作为一个终极解决方案,您可以通过扩展它并以一种由您设置的自定义背景以及由您设置的预定义填充的方式对其进行修改来重写完整的EditText类。

将EUR作为背景,将其放在左侧,然后以这样的方式给出EditText的起始填充,即用户输入的文本,在EUR文本后面开始。

这可能被认为是一个过度杀手或穷人解决这个问题的方法,但它仍然是最终的选择。也许不是最聪明的,我也不知道它是否会起作用:P

一切顺利!