Ответ 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, оставшаяся рамка будет оставлена пустой и будет отображаться фон.