Nachdem ich die setCompoundDrawables
Methode aufgerufen habe , wird die Verbindung Drawable nicht angezeigt.
Drawable myDrawable = getResources().getDrawable(R.drawable.btn);
btn.setCompoundDrawables(myDrawable, null, null, null);
Irgendwelche Gedanken?
android
android-layout
android-drawable
Hunterp
quelle
quelle
(..)WithIntrinsicBounds
aufgerufen werden.padding
Nebenbei bemerkt, für das Compound Drawable muss nach diesem Aufruf gesetzt werden, um einen Effekt zu verursachensetBounds(Rect)
angerufen haben.Antworten:
Ich musste benutzen
setCompoundDrawablesWithIntrinsicBounds
.quelle
Verwenden Sie dies (ich habe getestet). Es funktioniert gut
quelle
EditText#setCompoundDrawablesWithIntrinsicBounds
mindestens API 17 erforderlich ist.Das Bild ist leer, da es keine festgelegten Grenzen hat. Sie können verwenden,
setCompoundDrawables()
aber bevor Sie die Bildgrenzen mit derDrawable.setBounds()
Methode angeben solltenquelle
Beispiel oben gesetzt:
Reihenfolge der Argumente: (links, oben, rechts, unten)
quelle
Wieder ein bisschen einfacher:
quelle
Es ist in API 22 veraltet.
Dieser Code ist nützlich für mich:
quelle
In Kotlin:
1) Stellen Sie ein
drawable
:oder
2) Stellen Sie ein
TextView
:oder
quelle
setCompoundDrawablesWithIntrinsicBounds
wird funktioniert ..Für mich setCompoundDrawablesWithIntrinsicBounds (Drawable, Drawable, Drawable, Drawable) nicht funktioniert.
Ich musste setCompoundDrawablesWithIntrinsicBounds (0, 0, 0, 0) verwenden .
quelle
Beispiel mit Kotlin:
quelle
Das Bild wird nicht angezeigt, da Sie die Grenzen nicht angegeben haben. Sie haben hier also zwei Möglichkeiten.
1. Methode
Verwenden Sie
setCompoundDrawablesWithIntrinsicBounds
die unten gezeigte Methode2. Methode
Sie können Grenzen auf das Zeichenelement anwenden, bevor Sie es auf die Textansicht anwenden, wie unten gezeigt
Das ist es.
quelle