Android 提示和文本同时出现在editText中

Android 提示和文本同时出现在editText中,android,text,android-edittext,hint,Android,Text,Android Edittext,Hint,我只需要一个编辑文本,我可以设置文本和提示在同一时间。 e、 g我希望用户像user#1234一样输入editText字符串 在这个字符串中,用户#应该是文本,后面的数字会有所不同,所以当用户尝试输入时,1234应该显示为提示,光标将在#之后,当用户键入字符时,1234提示将消失 请指导我怎么做 谢谢你可以用两种方法 #1 将用户为drawableLeft的图像放置到您的EditText #2 使用RelativeLayout将TextView和EditText放在另一个上方,以便在TextVi

我只需要一个编辑文本,我可以设置文本和提示在同一时间。 e、 g我希望用户像user#1234一样输入editText字符串 在这个字符串中,用户#应该是文本,后面的数字会有所不同,所以当用户尝试输入时,1234应该显示为提示,光标将在#之后,当用户键入字符时,1234提示将消失

请指导我怎么做


谢谢你可以用两种方法

#1

将用户为
drawableLeft
的图像放置到您的
EditText

#2

使用
RelativeLayout
TextView
EditText
放在另一个上方,以便在
TextView
中显示文本,如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_parent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="user#"
    android:textColor="#aaaaaaaa"
    android:textSize="30dip" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView1"
    android:layout_alignBottom="@+id/textView1"
    android:layout_toRightOf="@+id/textView1"
    android:background="#00000000"
    android:textSize="30dip">

</EditText>


我通过一些技巧和
边距
填充

这就是我所做的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp" >

<TextView
    android:layout_width="40dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:gravity="right"
    android:text="user#" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="1234"
    android:paddingLeft="40dp"
    android:textSize="14sp" />

</RelativeLayout>


希望这能帮助你解决这个问题,这在Android的默认版本中是不可能的,但是如果你想以任何方式实现这一点,你就必须努力一点

您可以使用这个名为的库。阅读文档并了解如何使用它来解决您的目的。希望有帮助

[编辑]


我还有一个小把戏,你绝对可以用。在编辑文本上实现一个
onChangeListener
。每次调用它时,运行一个函数。函数应获取
editText
中的文本,并获取子字符串(前5个字符)。如果子字符串与“user#”匹配,则不要执行任何操作。否则,将editText中的文本替换为“user#”。轻松哈

你能告诉我原因吗?哈哈,你真的认为他会重新打开线程吗?只是想问一下错误,以便下次我会更仔细地猜我猜的是糟糕的英语,也许是文本格式。请格式化它并获得2票。Vucko:DIf user#将是图像,然后用户可以删除它,所以这不是选择。如果我们将textView放在editText之前,那么editText的下划线将不会位于textView的下方。用户#将是可绘制的,用户如何删除它?如果是下划线,请在相对布局的底部提供一个下划线。对不起,输入错误只是想说用户不能删除它。用户可以删除它,这就是为什么我们不把它作为可绘制的,下划线可绘制将不同于editText自定义下划线可绘制,它是从两个边缘提升的,这取决于你的创造力:p感谢你的reply@KhizarHayat我已经编辑了我的答案。检查新的。我想你没有收到我的问题。很抱歉,英语不好。当用户看到我的编辑文本时,它会将用户#显示为字符串,旁边的if 1234显示为提示暗淡颜色提示。@KhizarHayat ok。为此,你必须使用图书馆。无论如何,如果我的回答有帮助的话。别忘了投票和/或做正确的标记。谢谢你的时间。如果图书馆对我有帮助,我会去看的。我会接受的