我已将一张3000 x 3000像素的图片上传到Android工作室。
当我尝试将图像添加到我的应用程序时,图像看起来不太清晰。
这是我的XML代码
<ImageView
android:layout_width="match_parent"
android:layout_height="200dip"
android:scaleType="fitCenter"
android:contentDescription=""
android:layout_marginTop="20dip"
android:layout_marginBottom="28dip"
android:src="@mipmap/login_logo" />
我相信我的图片应该足够大,可以用于图像视图。谁能告诉我如何提高图像的分辨率?
更新
当我上传图像时,系统会自动创建4个不同版本的图像
答案 0 :(得分:2)
问题是你正在创建一个图标集,实际上没有3000乘3000像素。检查一下。
应用程序正在使用更合适的大小(hdpi,xhdpi等)。但是你手动调整大小。这就是为什么屏幕上的图标不清晰的原因。
创建手动图像资源时,这是实际大小,具体取决于屏幕大小。协助者拍摄原始图像并对其进行调整。
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
以像素为单位:
36x36 (0.75x) for low-density
48x48 (1.0x baseline) for medium-density
72x72 (1.5x) for high-density
96x96 (2.0x) for extra-high-density
144x144 (3.0x) for extra-extra-high-density
192x192 (4.0x) for extra-extra-extra-high-density
您可以按照以下说明解决此问题,创建自定义图像资源:
LDPI - 0.75x
MDPI - Original size you want to show
HDPI - 1.5x
XHDPI - 2.0x
XXHDPI - 3x
XXXHDPI - 4.0x
https://developer.android.com/guide/practices/screens_support.html
或者您可以使用外部库(如Picasso)来加载原始图像并使其适合。只要您可以动态适应,使用占位符,错误图像等,结果将更加专业。
Picasso.with(getActivity())
.load(new File("path-to-file/file.png"))
.into(imageView);
答案 1 :(得分:1)
我建议在onCreate()函数中使用一个方法。它使用BitmapFactory
加载您的图片
Options options = new BitmapFactory.Options();
options.inScaled = false;
Bitmap source = BitmapFactory.decodeResource(a.getResources(), path, options);
ImageView mImg;
mImg = (ImageView) findViewById(R.id.imageView);
mImg.setImageBitmap(source);