所有屏幕设备的图像尺寸

15

我有一个PSD文件,分辨率为1080X1920,其中包含一个尺寸为22X22Dot图片。

我已经将该图片剪裁并放在了res文件夹中。

我的问题是,Android如何知道该图片适用于1080X1920屏幕。在small屏幕上它会打开更大的图片,在2560x1440分辨率下则会缩小。

除了为每个屏幕大小放置不同的图片之外,还有没有其他方法告诉Android使用特定屏幕尺寸的图片,并对其他screens进行缩放?


1
您可以通过在不同的values文件夹中传递不同的dimen来使用dimen.xml管理图像的高度和宽度 - Jay Rathod
1
您可以使用此工具为不同屏幕尺寸生成不同DPI的图像文件:https://romannurik.github.io/AndroidAssetStudio/nine-patches.html - Anuraag Baishya
4个回答

22

直接使用 https://romannurik.github.io/AndroidAssetStudio/

例如,两个报告屏幕大小为normal的设备在实际手动测量时可能具有略微不同的屏幕大小和宽高比。同样,两个报告屏幕密度为hdpi的设备可能具有略微不同的实际像素密度。 Android将这些差异抽象化为应用程序,因此您可以提供针对广义尺寸和密度设计的UI,并让系统根据需要处理任何最终调整。

您必须创建不同的dimen、layout、images和icon文件以支持所有设备。

屏幕密度变化。

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

制作这个布局文件,以使其在所有设备上都相同。

根据设备提供填充、边距、字体以及所有属性。

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)

布局

res/layout/my_layout.xml              // layout for normal screen size ("default")
res/layout-large/my_layout.xml        // layout for large screen size
res/layout-xlarge/my_layout.xml       // layout for extra-large screen size
res/layout-xlarge-land/my_layout.xml  // layout for extra-large in landscape orientation

关于图片

res/drawable-mdpi/graphic.png         // bitmap for medium-density
res/drawable-hdpi/graphic.png         // bitmap for high-density
res/drawable-xhdpi/graphic.png        // bitmap for extra-high-density
res/drawable-xxhdpi/graphic.png       // bitmap for extra-extra-high-density

图标

res/mipmap-mdpi/my_icon.png         // launcher icon for medium-density
res/mipmap-hdpi/my_icon.png         // launcher icon for high-density
res/mipmap-xhdpi/my_icon.png        // launcher icon for extra-high-density
res/mipmap-xxhdpi/my_icon.png       // launcher icon for extra-extra-high-density
res/mipmap-xxxhdpi/my_icon.png      // launcher icon for extra-extra-extra-high-density

关于启动图标

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
180x180 (3.0x) for extra-extra-high-density
192x192 (4.0x) for extra-extra-extra-high-density (launcher icon only; see note above)

查看Dimension支持多个屏幕的官方文档。


7

Android Studio有一个名为“Batch Drawable”的插件,可以在Android Studio中安装。它可以帮助创建不同大小的图片。

导入步骤: 文件-->设置-->插件-->浏览存储库-->点击安装按钮。

重新启动Android Studio,然后您就可以在Android Studio的文件菜单中找到“Batch Drawable”。

链接:https://github.com/winterDroid/android-drawable-importer-intellij-plugin


1

你所需要做的只是将不同分辨率的文件放入不同的drawable-xxx文件夹中即可。请记住,所有图片必须使用相同的名称,但如果文件名不匹配,Android不会自动匹配每个图片的屏幕尺寸。祝好运!


0
将大型图像放入drawable文件夹中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接