J'essaie d'ajouter une icône de gauche à TextInputLayout, mais le texte passe au-dessus de l'icône . Lorsque j'ajoute un remplissage, tout se déplace en même temps.
J'ai essayé avec
Android:drawableLeft="@drawable/ic_store_white_48dp"
Android:drawablePadding="50dp"
Android:drawableStart="@drawable/ic_store_white_48dp"
Mais cela ne fonctionne pas! Je devrais implémenter un LinearLayout horizontal pour chaque ligne, mais je voudrais être sûr qu'il n'y a pas de moyen plus simple de le faire
Voici ma mise en page de code:
<Android.support.design.widget.TextInputLayout
Android:id="@+id/til_calle"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<EditText
Android:id="@+id/et_calle"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:drawableLeft="@drawable/ic_store_white_48dp"
Android:drawablePadding="50dp"
Android:drawableStart="@drawable/ic_store_white_48dp"
Android:hint="Calle"
Android:inputType="text" />
</Android.support.design.widget.TextInputLayout>
Assurez-vous que vous utilisez la dernière bibliothèque Design
; tout ce dont vous avez besoin pour les versions Design
et AppCompat
est
compile 'com.Android.support:design:23.2.0'
Essayez d'utiliser à la fois la bibliothèque TextInputLayout
de la conception et la AppCompatEditText
de AppCompat.
<Android.support.design.widget.TextInputLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:textColor="@Android:color/white"
Android:textColorHint="@color/loginHint">
<Android.support.v7.widget.AppCompatEditText
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:imeOptions="actionNext"
Android:inputType="textEmailAddress|textNoSuggestions"
Android:minWidth="350dp"
Android:drawableLeft="@drawable/ic_store_white_48dp"
Android:drawableStart="@drawable/ic_store_white_48dp"
Android:textColor="@Android:color/white"
Android:textColorHint="@color/loginHint"
Android:textCursorDrawable="@null"
app:backgroundTint="@Android:color/white"/>
</Android.support.design.widget.TextInputLayout>
Ceci est un bug qui a été rapporté sur Issue Tracker d'Android
https://code.google.com/p/Android/issues/detail?id=225836
la version la plus récente de Design Support Library (v25.0.1) a été corrigée. Ajoutez simplement la dépendance requise au niveau de construction ...
dependencies {
compile 'com.Android.support:design:25.0.1'
}
Voici ma mise en page de code:
<Android.support.design.widget.TextInputLayout
Android:id="@+id/input_layout_username"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<EditText
Android:id="@+id/input_username"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:singleLine="true"
Android:drawableLeft="@drawable/icon_user"
Android:drawableStart="@drawable/icon_user"
Android:drawablePadding="10dp"
Android:hint="User Name" />
</Android.support.design.widget.TextInputLayout>
Android: drawablePadding = "10dp"
C'est du travail
Oui. Actuellement, c'est un bogue sur Layout . Vous pouvez essayer de donner leftPadding à EditText ou donner des espaces vides avant le texte.
C'est simple, lorsque vous ajoutez passwordToggleEnabled
, il ajoute automatiquement l'icône en forme d'œil à droite et que drawableLeft
est parti. vous devez donc supprimer la drawableLeft
et utiliser simplement la drawableStart
.
<Android.support.design.widget.TextInputLayout
Android:id="@+id/til_calle"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<EditText
Android:id="@+id/et_calle"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:drawablePadding="50dp"
Android:drawableStart="@drawable/ic_store_white_48dp"
Android:hint="Calle"
Android:inputType="text" />