web-dev-qa-db-ja.com

app:srcCompat = "@ drawable / pic"のImageButtonプロパティをプログラムで設定する方法は?

ImageButtonプロパティを設定する方法

app:srcCompat="@drawable/pic"

プログラムで?

myImageButton.setBackgroundResource(R.drawable.eng2);に似ていますが、app:srcCompatのプロパティです。

52
Isaac

setImageResource() メソッドを使用する必要があります。

imageButton.setImageResource(R.drawable.eng2);

111
Prerak Sola

まず、「通常」のAppCompatImageViewではなく、ImageViewを処理していることを確認します。

AppCompatImageView iv = (AppCompatImageView)findViewById(....);

その後、使用できます

iv.setImageResource(R.drawable.pic);

他のパブリックメソッド ドキュメント内 を参照してください。

20
Marcin Orlowski

setImageResource()を使用すると、それ以上の労力を必要とせずに、後方互換性のある方法でリソースをフェッチできます。

ただし、setImageDrawable()を使用している場合、ImageView/ImageButtonは後方互換性を持たず、後方互換のドロアブルを提供するかどうかはユーザー次第です。 VectorDrawablesを使用している場合。以下は、そのような方法でドロアブルをロードして設定します:

val drawable = AppCompatResources.getDrawable(context, resourceId)
image.setImageDrawable(drawable)
1
Tom