So legen Sie die ImageButton
Eigenschaft von fest
app:srcCompat="@drawable/pic"
programmatisch?
So etwas wie myImageButton.setBackgroundResource(R.drawable.eng2);
aber das Eigentum von app:srcCompat
.
So legen Sie die ImageButton
Eigenschaft von fest
app:srcCompat="@drawable/pic"
programmatisch?
So etwas wie myImageButton.setBackgroundResource(R.drawable.eng2);
aber das Eigentum von app:srcCompat
.
Antworten:
Sie müssen die Methode setImageResource () verwenden.
imageButton.setImageResource(R.drawable.eng2);
Stellen Sie zunächst sicher, dass Sie es AppCompatImageView
nicht regelmäßig zu tun haben ImageView
:
AppCompatImageView iv = (AppCompatImageView)findViewById(....);
und dann können Sie tun:
iv.setImageResource(R.drawable.pic);
Weitere öffentliche Methoden finden Sie in den Dokumenten .
AppCompatImageButton
anstelle von verwenden musste ImageButton
.
Die Verwendung setImageResource()
sollte die Ressource abwärtskompatibel abrufen, ohne dass weitere Anstrengungen erforderlich sind.
Wenn Sie jedoch setImageDrawable()
ImageView / ImageButton verwenden, hilft dies bei keiner Abwärtskompatibilität, und es liegt an Ihnen, ein abwärtskompatibles Zeichenelement bereitzustellen, das z. wenn mit VectorDrawables
. Folgendes lädt und setzt ein Drawable so:
val drawable = AppCompatResources.getDrawable(context, resourceId)
image.setImageDrawable(drawable)
Keine der angebotenen Lösungen hat für mich funktioniert. Ich habe eine ImageView verwendet. Schließlich fand ich heraus, dass die Verwendung setBackgroundResource()
für mich funktioniert.
view.setBackgroundResource(R.drawable.ic_star_black_18dp)