我有一个简单的问题:我之前应该调整更大的位图吗? 添加到ImageView或让ImageView调整位图大小? 关于性能,正确的方法是什么?
由于
答案 0 :(得分:11)
考虑对ImageView使用缩放,不要为调整大小而烦恼。您可以像这样缩放图像,例如:
image.setAdjustViewBounds(true);
image.setMaxHeight(50);
image.setMaxWidth(50);
image.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
答案 1 :(得分:1)
图像越大,尺寸越大,我认为性能不会受到影响但会保持效率。
您还可以在不同文件夹中放置不同尺寸的图像以获得不同的分辨率:
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
答案 2 :(得分:1)
我们可以使用bitmap.createScaledBitmap将现有位图的大小调整为任意大小。使用下面的代码。
bmp=Bitmap.createScaledBitmap(bmp,destBitmapWith, destBitmapHeight,true);
答案 3 :(得分:1)
你可以这样做:
ImageView imageView = (ImageView) findViewById(R.id.imageView);
imageView.setAdjustViewBounds(true);
imageView.setMaxHeight(imageView.getHeight());
imageView.setMaxWidth(imageView.getWidth());
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));