我有一个PSD
文件,分辨率为1080X1920
,其中包含一个尺寸为22X22
的Dot
图片。
我已经将该图片剪裁并放在了res
文件夹中。
我的问题是,Android如何知道该图片适用于1080X1920
屏幕。在small
屏幕上它会打开更大的图片,在2560x1440
分辨率下则会缩小。
除了为每个屏幕大小放置不同的图片之外,还有没有其他方法告诉Android使用特定屏幕尺寸的图片,并对其他screens
进行缩放?
我有一个PSD
文件,分辨率为1080X1920
,其中包含一个尺寸为22X22
的Dot
图片。
我已经将该图片剪裁并放在了res
文件夹中。
我的问题是,Android如何知道该图片适用于1080X1920
屏幕。在small
屏幕上它会打开更大的图片,在2560x1440
分辨率下则会缩小。
除了为每个屏幕大小放置不同的图片之外,还有没有其他方法告诉Android使用特定屏幕尺寸的图片,并对其他screens
进行缩放?
直接使用 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)
Android Studio有一个名为“Batch Drawable”的插件,可以在Android Studio中安装。它可以帮助创建不同大小的图片。
导入步骤: 文件-->设置-->插件-->浏览存储库-->点击安装按钮。
重新启动Android Studio,然后您就可以在Android Studio的文件菜单中找到“Batch Drawable”。
链接:https://github.com/winterDroid/android-drawable-importer-intellij-plugin
你所需要做的只是将不同分辨率的文件放入不同的drawable-xxx文件夹中即可。请记住,所有图片必须使用相同的名称,但如果文件名不匹配,Android不会自动匹配每个图片的屏幕尺寸。祝好运!
values
文件夹中传递不同的dimen
来使用dimen.xml
管理图像的高度和宽度
。 - Jay Rathod