What is the difference between ImageView.setBackgroundResource and ImageView.setImageResource?

后端 未结 4 1305
故里飘歌
故里飘歌 2020-12-05 14:10

I have seen these different approaches in setting images but I don\'t get the difference.

Why there two methods?

4条回答
  •  半阙折子戏
    2020-12-05 14:50

    setBackgroundResource is for setting the background of an ImageView.
    setImageResource is for setting the src image of the ImageView. Given:

    ImageView iv = new ImageView(this);
    

    Then:

    iv.setBackgroundResource(R.drawable.imagedata);
    

    Will fit the image for the entire background. That means it will stretch the image to fill that background entirely even if the image size is too small.

    imageView.setImageResource(R.drawable.imagedata);
    

    Will occupy only the size of the image in ImageView. For that you want to also set

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

    for your ImageView. If the size of the image is smaller than the ImageView the remaining border will be left blank and the background will be shown.

提交回复
热议问题