我见过很多线程在stackoverflow中讨论这个问题(比如this,this和this),我已经阅读了有关支持多个屏幕和设计的文档。但我仍然不清楚drawables的文件夹结构和不同屏幕的布局
我正在开发一款支持Android手机和平板电脑的应用。我的项目显示了一些图像,需要在所有可能的Android设备中以高质量显示。我需要告诉我的设计师为所有这些决议进行设计。
从文档中我似乎应该为以下分辨率添加drawable(最后给出可绘制的文件夹名称),
1) 240 x 320 - Phone LDPI -> drawable-ldpi
2) 320 x 480 - Phone MDPI -> drawable-mdpi
3) 480 x 800 - Phone HDPI -> drawable-hdpi
//Now for tablets
4) 1024x600 - Tablet LDPI -> ??
5) 1280x800 - Tablet MDPI -> ??
6) 1536x1152 - Tablet HDPI -> ??
7) 2560x1600 - Tablet XHDPI-> ??
从支持multiple screens documentation开始,我似乎可以使用像
这样的文件夹1) drawable-sw600dp ( a 7” tablet (600x1024 mdpi).)
2) drawable-sw720dp (a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
但是对于分辨率在1536x1152,2560x1600等范围内的平板电脑呢?10'分辨率范围(720 x 1280等)对他们来说似乎很小..我的客户端有一个分辨率为2560×1600的Nexus 10我想要我的应用程序看起来很完美..
我知道,九个补丁图片,使用wrap_content
的布局和其他类似的好习惯。但是对于这个项目,我有一些图像,根据要求,应该在所有常见的屏幕上看到更清晰,我至少在我的包中需要几个版本的图像。
那么我应该向设计师提及什么和哪些决议?如何将它们分类到正确的文件夹名称。
答案 0 :(得分:18)
实际上平板电脑按大小而不是按dpi分类,即7“标签为drawable-large
而”10“标签为drawable-xlarge
。现在你可以再次按dpi分类,如drawable-large-hdpi
,这意味着它是一个7“的Tab,具有高密度。
您可以使用SW
最小宽度概念来定位,请参阅Application Skeleton to support multiple screen并对其进行计算。
平板电脑平板电脑分为两种尺寸。
7“(1024X(600-48(导航栏)))= 1024 X 552(可绘制大)
10“(1280X(800-48(导航栏)))= 1280 X 752(drawable-xlarge)
并且对于2560x1600,使用公式
计算SW dppx =设备的宽度
dpi =设备密度
给出的公式
px = dp * (dpi / 160)
如果您有px值,则交换公式
dp = px / (dpi / 160)
所以drawable-swxxxdp将完成这项工作
答案 1 :(得分:2)
AFAIK设备显示有两种变量:像素密度和屏幕尺寸。 两者在理论上都是独立的,但在市场上,它们从低端到高端设备一起变化。
不同位图分辨率和细节级别的像素密度要求(例如36X36到96X96图标)。
屏幕尺寸需要更好地利用房地产(例如,手机的多活动布局,平板电脑的碎片布局)。不像像素密度那么重要,但很好,因为平板电脑用户可能会发现电话布局过于平淡,浪费屏幕空间。
所以:
要覆盖大多数像素密度,您必须有不同的像素密度
versions of drawables:ldpi,mdpi,hdpi and xhdpi
。喜欢9个贴片的抽屉,这些都适合各处。
要覆盖大多数屏幕尺寸,您必须具有不同的layout arrangements和responsive layout design的small,large and xlarge
值。此外,纵向和横向的不同布局有时也很好。
Android也允许您混合配置组合。例如。 drawable-large-hdpi
等。
不惜一切代价避免硬编码像素协调和尺寸,使用密度或百分比。
答案 2 :(得分:2)
我们也可以将xxhdpi用于drawable-xxhdpi
等drawablexxhdpi(480dpi,Android 4.1或更高版本)
或参考以下链接中的“Android表格列”
答案 3 :(得分:1)
我使用的是:
我可能会验证这种方法,即使用-sw600dp和-sw720dp,但现在它可以正常工作。
答案 4 :(得分:-1)
你好我认为android可绘制的分辨率是 -
10“ - 1280 X 800
7“ - 1024 X 600
xhdpi - 960 x 720
hdpi - 800 X 480
mdpi - 480 X 320