Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在文本字段中添加以文本作为提示的搜索图标?_Java_Android_Textfield - Fatal编程技术网

Java 如何在文本字段中添加以文本作为提示的搜索图标?

Java 如何在文本字段中添加以文本作为提示的搜索图标?,java,android,textfield,Java,Android,Textfield,我想添加一个搜索图标,在文本字段中以文本作为提示,如下图所示 xml文件 <EditText android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="search" /> </EditText> 试试看 - 使用 如果不想单击该图像,则可

我想添加一个搜索图标,在文本字段中以文本作为提示,如下图所示

xml文件

<EditText
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="search" />
</EditText>

试试看

-


使用


如果不想单击该图像,则可以对EditText使用drawableRight属性

android:drawableRight="@drawable/icon"
如果需要,请单击,然后使用下面的代码



使用EditText的此属性

        android:drawableLeft="@drawable/your_image_name"

您可以向EditText添加可绘制文本:

<EditText
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="search"
        android:drawableLeft="@drawable/icon_search" />
</EditText>

试试:


你可以动态地做。只要此人单击文本字段,您就可以在java文件中将DrawableLeft设置为none。

//这就是
搜索视图

 <SearchView
       android:id="@+id/search"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" 
android:hint="search"
>

</SearchView>

看看这个:

仅从API级别22开始,添加以下内容:

android:imeOptions="actionSearch"
        android:inputType="text"

<EditText
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="search"
        android:imeOptions="actionSearch"
        android:inputType="text"
 />
android:imeOptions=“actionSearch” android:inputType=“文本”
我知道答案为时已晚,但对任何有同样问题的人来说都是如此

您可以使用ImageSpan


在活动文件中,只需添加以下代码行

EditText filter = (EditText) findViewById(R.id.text1);
filter.setHint("\uD83D\uDD0D Search");

然后从xml文件中删除提示标记。

我希望单击文本字段时,提示文本随图标消失,而不是将图标放在左侧我希望单击文本字段时,提示文本随图标消失,而不是将图标放在左侧我希望单击文本字段时,提示文本随图标消失,不要把图标放在左边使用这个代码我想当点击文本字段时,提示文本会随着图标消失,不要把图标放在左边OK!然后,您必须拍摄另一张图像,并通过设置onclicklistner使edittext在java中可单击。当用户单击edittext时,您必须将该图像更改为该edittext的背景。如果它有助于u@User3350437不工作,您必须接受答案。我收到此错误java.lang.RuntimeException:无法启动活动组件信息{com.vadhod.dictcopy/com.example.myApp.MainActivity}:java.lang.IndexOutboundsException:setSpan(213083760…0)先结束后开始这是一个聪明的解决办法,请记住,它指的是unicode字符,因此不要期望屏幕上出现任何材料搜索图标。
<EditText
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="search"
        android:drawableLeft="@drawable/icon_search" />
</EditText>
<EditText
    android:id="@+id/text1"
    android:layout_below="@id/btn1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="search"
    android:drawableLeft="@drawable/youricon" />
final EditText et=(EditText) findViewById(R.id.text1);
    et.setOnFocusChangeListener(new OnFocusChangeListener() 
    {
        @Override
        public void onFocusChange(View arg0, boolean gotfocus) 
        {
            // TODO Auto-generated method stub
            if(gotfocus)
            {
                et.setCompoundDrawables(null, null, null, null);
            }
            else if(!gotfocus)
            {
                if(et.getText().length()==0)
                    et.setCompoundDrawablesWithIntrinsicBounds(R.drawable.youricon, 0, 0, 0);
            }
        }
    });
 <SearchView
       android:id="@+id/search"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" 
android:hint="search"
>

</SearchView>
android:imeOptions="actionSearch"
        android:inputType="text"

<EditText
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="search"
        android:imeOptions="actionSearch"
        android:inputType="text"
 />
    SpannableStringBuilder builder = new SpannableStringBuilder();
    builder.append(" ");
    builder.setSpan(new ImageSpan(getApplicationContext(), R.drawable.search_grey_icon),
            builder.length() - 1, builder.length(), 0);
    builder.append(" Search in okani");
    searchView.setQueryHint(builder);
EditText filter = (EditText) findViewById(R.id.text1);
filter.setHint("\uD83D\uDD0D Search");