Risposte:
Utilizzare la android:drawableLeftproprietà su EditText.
<EditText
...
android:drawableLeft="@drawable/my_icon" />
drawablePaddingproprietà.
Puoi impostare drawableLeft nell'XML come suggerito da Marcos , ma potresti anche volerlo impostare a livello di codice, ad esempio in risposta a un evento. Per fare ciò usa il metodo 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 si fa clic sulla vista.
Se si desidera utilizzare il disegno predefinito di Android, è possibile utilizzare in @android:drawable/ic_menu_searchquesto modo:
<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"/>
Uso :
<EditText
..
android:drawableStart="@drawable/icon" />
Utilizzare un layout relativo e impostare il pulsante in modo che sia allineato a sinistra della vista di modifica del testo, quindi impostare il riempimento sinistro della vista di testo sulla dimensione del pulsante. Non riesco a pensare a un buon modo per farlo senza codificare il riempimento: /
Puoi anche usare lo strumento apk per decomprimere l'apk di Facebook e dare un'occhiata ai suoi file di layout.
usa android: drawbleStart propriamente su EditText
<EditText
...
android:drawableStart="@drawable/my_icon" />