Définir par programmation à gauche drawable dans un TextView
J'ai un textView en xml ici.
<TextView
android:id="@+id/bookTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/checkmark"
android:gravity="center_vertical"
android:textStyle="bold"
android:textSize="24dip"
android:maxLines="1"
android:ellipsize="end"/>
Comme vous pouvez le voir j'ai mis le DrawableLeft en xml.
Je voudrais changer le drawable dans le code.
Est de toute façon il faire? Ou de réglage de la drawableLeft dans le code pour l'affichage de texte?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser setCompoundDrawablesWithIntrinsicbounds(int gauche, int haut, int droite, int bas)
0, où vous ne voulez pas les images
Exemple pour Drawable sur la gauche:
Astuce: Quand vous savez tout attribut XML mais n'ai pas la moindre idée sur la façon d'utiliser lors de l'exécution. il suffit d'aller à la description de la propriété du développeur de doc. Vous y trouverez Méthodes Liées à la si c'est pris en charge au moment de l'exécution . c'est à dire Pour DrawableLeft
textview.getCompoundDrawablesRelative()[0]
avecmContext.getResources().getDrawable(R.drawable.my_drawable)
De ici je vois la méthode setCompoundDrawablesWithIntrinsicbounds(int,int,int,int) peut être utilisé pour ce faire.
Vous pouvez utiliser l'une des méthodes suivantes pour le réglage de la Drawable sur TextView:
1- setCompoundDrawablesWithIntrinsicbounds(int, int, int, int)
2- setCompoundDrawables(Left_Drawable, Top_Drawable, Right_Drawable, Bottom_Drawable)
Et pour obtenir drawable de ressources que vous pouvez utiliser:
Un Kotlin extension + rembourrage autour de la drawable