So legen Sie die ImageButtonEigenschaft 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 ImageButtonEigenschaft 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 AppCompatImageViewnicht 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 .
AppCompatImageButtonanstelle 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)