我阅读Supporting Multiple Screens
指南越多,我就越困惑。如果layout
文件夹的限定符基于大小(small、normal、large 和 xlarge)并且drawable
文件夹的限定符基于密度(ldpi、mdpi、hdpi 和 xhdpi),那么如何指定可绘制/图像的大小?
可绘制文件夹中的所有图像是否应该具有相同的大小(基于正常的屏幕尺寸)但密度不同(即里面的pic.png 与里面drawable.ldpi
的 pic.png 具有相同的宽度和高度drawable.mdpi
但密度不同)?
问题是每个屏幕尺寸可能包括三种密度(即大屏幕可能是 ldpi、mdpi 或 hdpi)。
.如何同时在尺寸和密度的基础上设计图像?
谢谢你。
2 回答
36x36 for low-density
48x48 for medium-density
72x72 for high-density
96x96 for extra high-density
http://developer.android.com/guide/practices/ui_guidelines/icon_design.html
希望这可以帮助。
一般来说,你会想要 ldpi 中最小的图片,mdpi 中的中间图片,以及 hdpi 中更大的图片等......
尽管设备具有“大”屏幕和“ldpi”密度在技术上是可能的,但制造商倾向于坚持使具有大屏幕的设备也具有更高的密度。
编辑:
图像只需要在设计时考虑到密度。因为如果你拍摄相同的 100x100 像素图像并以 3 种不同的密度显示它,它会在最小的密度下看起来最大(人眼)。因此,考虑到您制作了 3 张图像,假设一张 80x80、一张 100x100 和一张 120x120。现在,如果您以 3 种密度显示这 3 张图像,那么您眼中的物体大小将比以前更近。
您可以添加到布局文件夹的大、中、小等限定符与任何图像资源本身无关,而是在给定页面上构建视图组件,以便充分利用可用空间。
例如,如果您的应用程序中有一个可供选择的项目列表。在平板电脑(大或超大)屏幕上,在屏幕上的列表中显示两列或多列项目可能看起来更好,效率更高。而在手机上可能没有足够的宽度(纵向模式)来容纳超过 1 列。因此,要处理这种情况,您需要将布局 xml 文件放在具有单列 ListView 的布局正常文件夹中。然后将另一个布局 xml 文件放在使用 GridView 的 layout-large 文件夹中,以便它可以有一个额外的列
此图像将大致显示系统将从给定屏幕尺寸和密度的哪个文件夹中提取图像和/或布局 xml 文件。:
您所有的图像资源都放在符合密度的可绘制文件夹中。(ldpi、mdpi、hdpi 等)
布局文件夹是符合屏幕尺寸(小、正常、大等)的布局文件夹将仅包含 xml 布局文件,不包含图像。