我想在左边的EditText
内添加一个“搜索”图标?比如Facebook Android应用程序中的搜索框?
答案 0 :(得分:394)
使用EditText上的android:drawableLeft
属性。
<EditText
...
android:drawableLeft="@drawable/my_icon" />
答案 1 :(得分:27)
您可以按照marcos的建议在XML中设置drawableLeft,但您可能还想以编程方式设置它 - 例如,响应事件。为此,请使用 setCompoundDrawablesWithIntrincisBounds(int, int, int, int) :
方法EditText editText = findViewById(R.id.myEditText);
// Set drawables for left, top, right, and bottom - send 0 for nothing
editTxt.setCompoundDrawablesWithIntrinsicBounds(R.drawable.myDrawable, 0, 0, 0);
答案 2 :(得分:25)
如果您想使用Android的默认drawable,可以像这样使用@android:drawable/ic_menu_search
:
<EditText android:id="@+id/inputSearch"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@android:drawable/ic_menu_search"
android:hint="Search product.."
android:inputType="textVisiblePassword"/>
答案 3 :(得分:3)
使用:
<EditText
..
android:drawableStart="@drawable/icon" />
答案 4 :(得分:0)
在EditText上使用android:drawbleStart属性
<EditText
...
android:drawableStart="@drawable/my_icon" />
答案 5 :(得分:-1)
使用相对布局并将按钮设置为编辑文本视图的左对齐,并将文本视图的左边距设置为按钮的大小。没有硬编码填充,我想不出一个好方法:/
您还可以使用apk tool对facebook进行解压缩,然后查看其布局文件。