189 votes

Comment puis-je utiliser un composé drawable au lieu d'un LinearLayout qui contient une ImageView et un TextView

Couru les nouvelles Peluches outil par rapport à mon code. Il est venu avec beaucoup de bonnes suggestions, mais ce que je ne comprends pas.

Cette balise et de ses enfants peut être remplacé par un et un composé drawable

Question: Vérifie si le nœud actuel peut être remplacé par un TextView en utilisant le composé un drawable.

Un LinearLayout qui contient une ImageView et un TextView peuvent être gérées plus efficacement comme un composé drawable

Et voici ma présentation

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_centerInParent="true">

<ImageView 
    android:id="@+id/upImage"
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:layout_gravity="center_vertical"
    android:scaleType="centerInside"
    android:src="@drawable/up_count_big">
</ImageView>

<TextView
    android:id="@+id/LikeCount"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="2dp"
    android:layout_marginBottom="1dp"
    android:textColor="@color/gray"
    android:textSize="16sp"
    android:layout_gravity="center_vertical">
</TextView>
</LinearLayout>

Quelqu'un peut-il donner un exemple concret de la façon de faire un composé drawable dans ce cas?

253voto

chiuki Points 4334

TextView est livré avec 4 composé un drawable, un pour chaque de gauche, haut, droite et bas.

Dans votre cas, vous n'avez pas besoin de l' LinearLayout et ImageView . Juste ajouter android:drawableLeft="@drawable/up_count_big" votre TextView.

Voir TextView#setCompoundDrawablesWithIntrinsicbounds pour plus d'info.

20voto

Javier P Points 61

si pour quelque raison vous avez besoin d'ajouter via le code, vous pouvez utiliser ceci:

mTextView.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);

où à gauche, en haut, en bas à droite sont un drawable

3voto

Pour ajouter à cela, - il semble important de définir la largeur et de la hauteur de la drawable que par ce post:

(son code fonctionne)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X