Créer un arrière-plan personnalisé drawable pour un EditText
Je suis en train de personnaliser la drawable à un EditText comme prévu ci-dessous:
J'ai donc écrit cette coutume drawable:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingBottom="12dp"
android:paddingLeft="36dp"
android:paddingRight="12dp"
android:paddingTop="12dp">
<item>
<shape>
<corners android:radius="6dp"/>
<solid android:color="@android:color/white"/>
<stroke
android:width="1dp"
android:color="#BBBBBB"/>
</shape>
</item>
<item
android:width="32dp"
android:gravity="left">
<shape android:shape="rectangle">
<size android:width="32dp"/>
<corners
android:bottomLeftRadius="6dp"
android:topLeftRadius="6dp"/>
<solid android:color="#AAAAAA"/>
</shape>
</item>
<item android:left="8dp">
<bitmap
android:gravity="left"
android:src="@drawable/ic_email"
android:tileMode="disabled"/>
</item>
</layer-list>
Le résultat dans l'aperçu est en assez bon état (sauf autre coin de la taille, ce n'est pas manipulé par Android Studio)
Mais dans l'appareil, il est totalement pas de travaux...
Le deuxième élément est tendu et ne respecte pas l'attribut width.
Je sais, je peux le faire avec un 9-patch, mais je veux savoir si c'est possible, avec un drawable?
OriginalL'auteur sagix | 2015-09-15
Vous devez vous connecter pour publier un commentaire.
Réussi à le faire avec un simple arrière-plan dessiné et un composé drawable sur l'EditText.
bg_edittext_icon.xml
Dans votre mise en page, l'utiliser comme ça:
Avec
paddingLeft
l'icône de rembourrage à l'intérieur de la zone grise etdrawablePadding
le rembourrage à l'intérieur de la boîte grise + rembourrage de la zone d'édition.Ici est le résultat de Genymotion (aka, périphérique réel):
Espérons qu'il vous plaira !
OriginalL'auteur pdegand59