这是因为ImageView
的像素密度比提供的图像要大,因此它必须放大图像以匹配边界。为了避免这种情况,您有两个选项。
首先,您可以禁用图像的抗锯齿功能,这样就可以在不模糊图像的情况下对其进行缩放:
Bitmap bitmap = BitmapFactory.decodeResource(activity.getResources(), R.drawable.sprite);
BitmapDrawable drawable = new BitmapDrawable(activity.getResources(), bitmap);
drawable.setAntiAlias(false);
imageView.setImageDrawable(drawable);
您也可以提供足够大的图像,这样它只会被缩小而不是放大。
Bitmap
的方法有几种。我在上面的代码中添加了一个简单的方法。 - Bryan