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 Elemente können durch ein und ein zusammengesetztes Zeichenelement ersetzt werden
Problem: Überprüft, ob der aktuelle Knoten durch eine Textansicht mit zusammengesetzten Zeichensätzen ersetzt werden kann.
Ein LinearLayout, das eine ImageView und eine TextView enthält, kann effizienter als zusammengesetzte Zeichenfunktion 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 liefern, wie eine Verbindung in diesem Fall zeichnbar gemacht werden kann?
TextView
wird mit 4 zusammengesetzten Drawables geliefert, jeweils eines für links, oben, rechts und unten.
In Ihrem Fall brauchen Sie LinearLayout
und ImageView
überhaupt nicht. Einfach hinzufügen Android:drawableLeft="@drawable/up_count_big"
zu Ihrem TextView
.
Siehe TextView # setCompoundDrawablesWithIntrinsicBounds für weitere Informationen.
wenn Sie aus irgendeinem Grund einen Code hinzufügen müssen, können Sie diesen verwenden:
mTextView.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);
wo links, oben, rechts unten sind Drawables
Um dies hinzuzufügen, scheint es wichtig zu sein, die Breite und Höhe des Zeichnungsobjekts wie in diesem Beitrag zu definieren:
(sein Code funktioniert)
Sie können die allgemeine Implementierung für zusammengesetzte Zeichen verwenden. Wenn Sie jedoch eine Zeichengröße definieren müssen, verwenden Sie diese Bibliothek:
https://github.com/a-tolstykh/textview-rich-drawable
Hier ist ein kleines Anwendungsbeispiel:
<com.tolstykh.textviewrichdrawable.TextViewRichDrawable
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Some text"
app:compoundDrawableHeight="24dp"
app:compoundDrawableWidth="24dp" />