我是一个开发Android应用程序的初学者,需要在纵向和横向模式下以画面的整个宽度显示剪贴画类型的png图像:
肖像:
景观:
我是否正确地说,为了满足每个屏幕的分辨率和方向,我需要包括以下图像尺寸?:
Image width: Resource folder:
xxhdpi – 1920 px drawable-land-xxhdpi
xhdpi – 1280 px drawable-land-xhdpi
xxhdpi – 1080 px drawable-xxhdpi
hdpi – 960 px drawable-land-hdpi
xhdpi – 720 px drawable-xhdpi
mdpi – 640 px drawable-land-mdpi
hdpi – 540 px drawable-hdpi
ldpi - 480 px drawable-land-ldpi
mdpi – 360 px drawable-mdpi
ldpi - 270 px drawable-ldpi
这似乎有点矫枉过正 . 该应用程序可能有一千个这样的图像,每个10个版本 .
这种情况下的常规方法是什么?你会缩放图像以适应吗?
1 回答
假设您将保持相同的宽高比,无论屏幕是纵向还是横向,并且您将通过ImageView显示图像,您只需要每个图像的4个版本 - xxhdpi,xhdpi,hdpi和mdpi .
就图像宽度而言,坚持使用推荐的2:3:4:6:8缩放比例here, in the Android Documentation . 该链接专门讨论了图标,但缩放比例适用于所有图像 . 因此,如果在mdpi上使用横向640 px的图像宽度,则hdpi,xhdpi和xxhdpi的宽度应分别为960 px,1280 px,1920 px和2650 px . 不要担心ldpi版本,因为Android会缩小低分辨率设备的hdpi版本 .
最后,将ImageView的缩放类型设置为缩放类型,以保持图像的纵横比(CENTER_CROP或CENTER_INSIDE) . 有关设置比例的信息,请参阅ImageView文档 . 然后,一旦您将图像设置为填满屏幕的宽度,图像应该按照您的意愿显示 .