如何在android中创建EditText提示为带有图像的文本

时间:2013-11-27 18:49:43

标签: android image hint

如何使用Text&创建EditText提示/占位符在android中的图像。我这样写的

<EditText  
    android:id="@+id/name" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content"     
    android:lines="1"
     ................................
...............................

android:drwableLeft="@drawable/image1"
android:hint="enter name here"/>

在这里我们可以看到图像&amp; edittext中的文本(提示),但即使用户在该字段中输入内容,图像仍然可见。我的要求是如果EditText中没有文字显示提示与图像,如果EditText不为空隐藏提示文字和图像

2 个答案:

答案 0 :(得分:11)

您可以像在xml中一样设置drawableLeft,并在EditText中添加addTextChangedListener。当键入发生时,将警告此侦听器,并且如果textsize大于0,则可以检入侦听器。如果是,则只需将xml中指定的drawableLeft设置为null

@Override
public void afterTextChanged(Editable s) {
    if(s.toString().length() > 0) {
        editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
    } else {
        //Assign your image again to the view, otherwise it will always be gone even if the text is 0 again.
        editText.setCompoundDrawablesWithIntrinsicBounds(R.drawable.image, 0, 0, 0);
    }
}

答案 1 :(得分:0)

我是通过将我的EditText放在FrameLayout中,然后在FrameLayout中包含一个TextView来实现的。 TextView用作提示文本。我在TextView上有一个drawableStart属性。当用户开始输入时,使用类似于Dion接受的答案中的代码隐藏TextView。