要更新ImageView中的图像,哪种方法更好setImageResource或setImageDrawable

问题描述

我是Android新手,在学习ImageView小部件时,我学习了2种可能的方法来更新ImageView中的图像。

这是教师建议的方式:

onButtonClick(View view) {
    ImageView myImageView = (ImageView) findViewById(R.id.imageView);
    myImageView.setimageResource(R.drawable.cn);
}

一个是我自己想出的东西:

onButtonClick(View view) {
    ImageView myImageView = (ImageView) findViewById(R.id.imageView);
    newDrawable = getResources().getDrawable(R.drawable.cn);
    myImageView.setimageDrawable(null);
    myImageView.setimageDrawable(newDrawable);
}

我想更好地理解一些事情:

  • 我推荐哪种方法
  • 使用setimageResource()与setimageDrawable()的利弊是什么

解决方法

对于您来说,setimageResource会更好,因为您只需要设置图像即可。

getResources().getDrawable(R.drawable.cn);

如果您需要对可绘制对象进行更改(例如颜色过滤,调整大小等),这将是值得的。