首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持大屏的android设备屏幕尺寸

支持大屏的android设备屏幕尺寸
EN

Stack Overflow用户
提问于 2012-12-07 21:23:50
回答 4查看 4.5K关注 0票数 1

我做了很多研究,但我觉得我还没有完全理解如何支持不同屏幕尺寸的整个系统。

所以我的设计师想知道我想要支持哪种屏幕尺寸,他想知道最初要构建哪种分辨率。

所以我建议我想要支持以下内容,

屏幕大小正常

mdpi - yes hdpi - yes xhdpi - yes

到目前为止,我假设了以下几点:

普通屏幕mdpi - 320x480 - 160ppi普通屏幕hdpi - 480x800 - 240ppi普通屏幕xhdpi - 640x960 - 320ppi

问题是如何为一个720x1280的屏幕定义资源?我是否使用为640x960定义的资源?

类似于S3的东西

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-15 13:57:07

我已经在这里用设计者的观点陈述了application-skeleton-to-support-multiple-screen

列出了设备屏幕的百分比差异

Ldpi- 75%

Mdpi- 100%

Hdpi- 150%

XHdpi- 200%

但正如我们现在所知,大多数设备都带有480X800,所以我认为这是基于设备的,所以我们的新计算将如下所示

Ldpi- 50%

Mdpi- 66.67%

Hdpi- 100%

XHdpi- 133.33%

你可以将XHdpi作为基础,因为当我们放大较小的图像时,图像会变得模糊,所以开始制作更大尺寸的图片,然后再制作更小的图片。

现在介绍配备高分辨率720x1280的设备,即S3

Android V3.0 Honeycomb引入了具有最小宽度概念(SW)的限定符

drawable-软件?dp

设备分类为屏幕宽度,因此如果我们创建一个名为drawable-sw360dp的文件夹,则具有720dp(宽度或高度)的设备将使用this文件夹中的资源。

例如,要查找三星Galaxy S3 dp后缀drawable-sw?dp,引用,如果您想支持您的布局或可绘制到S3,则计算结果为

px=设备的宽度= 720

dpi=设备的density= 320

给出的公式

代码语言:javascript
复制
px = dp * (dpi / 160)

互换公式,因为我们有px的值

代码语言:javascript
复制
dp = px / (dpi / 160)

现在把价值放在

代码语言:javascript
复制
 dp= 720 / (320/160);
 dp=360. 

因此,drawable-sw360dp将为S3做这项工作

GsmArena获取设备配置,同样,您也可以为不同的设备(笨拙的/最新的)创建文件夹

您也可以为布局文件夹添加相同的后缀layout-sw360dp

票数 6
EN

Stack Overflow用户

发布于 2012-12-10 23:47:12

我也同意其他人在Android开发者网站上发布了Supporting Multiple Screens的链接,因为这是一个很好的资源,可以了解屏幕类别(小屏幕,普通屏幕,大屏幕)和不同屏幕密度(ldpi,mdip,hdpi)之间的差异。

还有一篇关于Metrics and Grids的非常有趣的文章,它对我帮助很大。

你还应该将像素的比例保持在你的后脑勺:

ldpi: 1dp = 0.75pxmdpi: 1dp = 1pxhdpi: 1dp = 1.5pxxhdpi: 1dp = 2px

我个人喜欢把ldpi和大约240x320的分辨率联系起来,把mdpi和320x480联系起来,把hdpi和480x800联系起来,把xhdpi和任何更大的东西联系起来,比如SGS3。

例如,指向Metrics and Grids的链接说明按钮的大小应至少为48dp。这意味着如果你想创建一个48x48大小的按钮,你还必须提供一个包含96x96 px for xhdpi72x72 px for hdpi36x36 px for ldpi的图形。

我还建议你和你的设计师看一看9-patch images,试着调整你的UI。这将使您作为开发人员的生活少得多的麻烦。这样做的原因是,你可以创建小尺寸的图像,这些图像可以在整个应用程序中缩放得非常好。

很明显,你应该尝试用最高的分辨率(例如xhdpi)来创建你的图形,然后缩小到hdpi,mdpi和ldpi。

我遇到的另一个技巧,我已经没有来源了,那就是使用Android中的资源文件夹,因为与只提供大图像相比,它的性能要好得多,让操作系统在移动中缩小它的大小。(But this SO post has some valid arguments in the answers)

票数 2
EN

Stack Overflow用户

发布于 2012-12-07 21:29:36

你可以使用SVG库实现矢量图形,并且非常有用,支持多分辨率屏幕,源代码是here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13763988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档