Respostas:
Use a android:drawableLeftpropriedade no EditText.
<EditText
...
android:drawableLeft="@drawable/my_icon" />
drawablePaddingpropriedade
Você pode definir drawableLeft no XML, conforme sugerido por marcos , mas também pode querer defini-lo programaticamente - por exemplo, em resposta a um evento. Para fazer isso, use o método 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);
nullquando a vista for clicada.
Se você deseja usar o drawable padrão do Android, pode usar o @android:drawable/ic_menu_searchseguinte:
<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"/>
Usar :
<EditText
..
android:drawableStart="@drawable/icon" />
use android: drawbleStart propery em EditText
<EditText
...
android:drawableStart="@drawable/my_icon" />
Use um layout relativo e defina o botão para alinhar à esquerda da visualização de edição de texto e defina o preenchimento esquerdo da visualização de texto para o tamanho do seu botão. Não consigo pensar em uma boa maneira de fazer isso sem codificar o preenchimento: /
Você também pode usar a ferramenta apk para descompactar o apk do facebook e dar uma olhada nos arquivos de layout.