So legen Sie die ImageButton
-Eigenschaft von fest
app:srcCompat="@drawable/pic"
programmatisch?
So etwas wie myImageButton.setBackgroundResource(R.drawable.eng2);
, aber die Eigenschaft von app:srcCompat
.
Sie müssen die setImageResource () -Methode verwenden.
imageButton.setImageResource(R.drawable.eng2);
Stellen Sie zunächst sicher, dass Sie mit AppCompatImageView
und nicht mit "normal" ImageView
zu tun haben:
AppCompatImageView iv = (AppCompatImageView)findViewById(....);
dann kannst du verwenden
iv.setImageResource(R.drawable.pic);
Siehe andere öffentliche Methoden in docs .
Die Verwendung von setImageResource()
sollte seine Ressource abwärtskompatibel abrufen, ohne dass weiterer Aufwand erforderlich ist.
Wenn Sie jedoch setImageDrawable()
verwenden, hilft ImageView/ImageButton nicht bei Rückwärtskompatibilitäten, und es liegt an Ihnen, ein Rückwärtskompatibilitätszertifikat bereitzustellen, was z. B. wichtig ist. wenn Sie VectorDrawables
verwenden. Folgendes wird geladen und so ein Zeichen gesetzt:
val drawable = AppCompatResources.getDrawable(context, resourceId)
image.setImageDrawable(drawable)