Подтвердить что ты не робот

В чем разница между ImageView.setBackgroundResource и ImageView.setImageResource?

Я видел эти разные подходы при настройке изображений, но я не понимаю.

Почему существуют два метода?

4b9b3361

Ответ 1

setBackgroundResource предназначен для установки фона ImageView.
setImageResource предназначен для установки изображения src ImageView. Дано:

ImageView iv = new ImageView(this);

Тогда:

iv.setBackgroundResource(R.drawable.imagedata);

Поместит изображение на весь фон. Это означает, что он растянет изображение, чтобы полностью заполнить этот фон, даже если размер изображения слишком мал.

imageView.setImageResource(R.drawable.imagedata);

Будет занимать только размер изображения в ImageView. Для этого вы также хотите установить

android:layout_width="wrap_content"
android:layout_height="wrap_content"

для вашего ImageView. Если размер изображения меньше, чем у ImageView, оставшаяся рамка будет оставлена ​​пустой и будет отображаться фон.

Ответ 2

SetBackdroundResource предназначен для рисования или цвета, который вы хотите установить на фоне изображения, и ваш setImageResource похож на отображение на нем.

поэтому setImageResource предназначен для добавления любого ресурса на вашу лицевую сторону изображения. попробуйте этот пример и посмотрите на разницу. Галерея Android, пример ImageView. Это двухслойный эффект, обратная сторона (setBackgroundResource) и frontside (setImageResource).

Ответ 3

setBackgroundResource означает android: background = " "setImageResource означает android: src=" "