Ejecuté la nueva herramienta Lint contra mi código. Surgió con muchas buenas sugerencias, pero esta no la puedo entender.
Esta etiqueta y sus elementos secundarios se pueden reemplazar por uno y un dibujo compuesto
Problema: Comprueba si el nodo actual puede ser reemplazado por un TextView usando elementos dibujables compuestos.
Un LinearLayout que contiene un ImageView y un TextView se puede manejar de manera más eficiente como un dibujo compuesto
Y aquí está mi diseño
<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>
¿Alguien puede proporcionar un ejemplo concreto de cómo hacer un compuesto dibujable en este caso?
TextView
/ImageView
combos se pueden reemplazar de esta manera.Respuestas:
TextView
viene con 4 elementos dibujables compuestos, uno para cada uno de los lados izquierdo, superior, derecho e inferior.En su caso, no necesita el
LinearLayout
yImageView
para nada. Solo agrégaloandroid:drawableLeft="@drawable/up_count_big"
a tuTextView
.Consulte TextView # setCompoundDrawablesWithIntrinsicBounds para obtener más información.
fuente
ImageView
. La advertencia dice 'puede ser reemplazado por', no 'debe ser reemplazado por'si por alguna razón necesita agregar un código, puede usar esto:
donde izquierda, arriba, abajo a la derecha están Drawables
fuente
Para agregar a esto, parece importante definir el ancho y la altura del dibujo según esta publicación:
(su código funciona)
fuente
Puede usar una implementación dibujable compuesta general, pero si necesita definir un tamaño de dibujo, use esta biblioteca:
https://github.com/a-tolstykh/textview-rich-drawable
Aquí hay un pequeño ejemplo de uso:
fuente