How to add icon inside EditText view in Android ?
I want t开发者_StackOverflow社区o add a "search" icon to appear inside an EditText
in the left edge? such as search box in Facebook Android app?
Use the android:drawableLeft
property on the EditText.
<EditText
...
android:drawableLeft="@drawable/my_icon" />
You can set drawableLeft in the XML as suggested by marcos, but you might also want to set it programmatically - for example in response to an event. To do this use the method 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);
If you want to use Android's default drawable, you can use @android:drawable/ic_menu_search
like this:
<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"/>
Use :
<EditText
..
android:drawableStart="@drawable/icon" />
use android:drawbleStart propery on EditText
<EditText
...
android:drawableStart="@drawable/my_icon" />
Use a relative layout and set the button the be align left of the edit text view, and set the left padding of your text view to the size of your button. I can't think of a good way to do it without hard coding the padding :/
You can also use apk tool to sorta unzip the facebook apk and take a look at its layout files.
` <EditText
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/white"
android:drawableStart="@android:drawable/ic_menu_search"
android:hint=" Search" />`
精彩评论