setImageBitmap
和setImageDrawable
有什么区别?
我有一张我想从文件中动态设置的图像。我遵循的教程说将我的 Bitmap
转换为 BitmapDrawable
然后使用 setImageDrawable
设置它。我注意到直接使用 setImageBitmap
设置 Bitmap
也可以,但我没有注意到任何区别。
Bitmap image = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
BitmapDrawable bitmapDrawable = new BitmapDrawable(image);
imageView.setImageDrawable(bitmapDrawable);
或
Bitmap image = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
imageView.setImageBitmap(image);
最佳答案
两者没有区别,内部setImageBitmap
是调用setImageDrawable
。
以下代码取自AOSP的ImageView.java
public void setImageBitmap(Bitmap bm) {
// if this is used frequently, may handle bitmaps explicitly
// to reduce the intermediate drawable object
setImageDrawable(new BitmapDrawable(mContext.getResources(), bm));
}
关于Android - ImageView : setImageBitmap VS setImageDrawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12001793/