Lief das neue Lint-Tool gegen meinen Code. Es gab viele gute Vorschläge, aber diesen kann ich nicht verstehen.
Dieses Tag und seine untergeordneten Tags können durch ein und ein zusammengesetztes Zeichen ersetzt werden
Problem: Überprüft, ob der aktuelle Knoten mithilfe zusammengesetzter Zeichen durch eine Textansicht ersetzt werden kann.
Ein LinearLayout, das eine ImageView und eine TextView enthält, kann effizienter als zusammengesetztes Zeichenelement behandelt werden
Und hier ist mein Layout
<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>
Kann jemand ein konkretes Beispiel dafür geben, wie eine Verbindung in diesem Fall zeichnbar gemacht werden kann?
TextView
/ImageView
Combos können auf diese Weise ersetzt werden.Antworten:
TextView
kommt mit 4 zusammengesetzten Drawables, jeweils eine für links, oben, rechts und unten.In Ihrem Fall brauchen Sie das
LinearLayout
undImageView
überhaupt nicht. Fügenandroid:drawableLeft="@drawable/up_count_big"
Sie einfach zu IhremTextView
.Weitere Informationen finden Sie unter TextView # setCompoundDrawablesWithIntrinsicBounds .
quelle
ImageView
. Die Warnung lautet "kann ersetzt werden durch", nicht "sollte ersetzt werden durch"Wenn Sie aus irgendeinem Grund einen Code hinzufügen müssen, können Sie Folgendes verwenden:
wo links, oben, rechts unten sind Drawables
quelle
Um dies hinzuzufügen, scheint es wichtig zu sein, die Breite und Höhe des Zeichens gemäß diesem Beitrag zu definieren:
(sein Code funktioniert)
quelle
Sie können die allgemeine zusammengesetzte Zeichnungsimplementierung verwenden. Wenn Sie jedoch eine Zeichnungsgröße definieren müssen, verwenden Sie diese Bibliothek:
https://github.com/a-tolstykh/textview-rich-drawable
Hier ist ein kleines Anwendungsbeispiel:
quelle