我们知道Android带有各种不同的设备 功能,分辨率和屏幕大小,以便开发支持的应用程序 多个(小和大)屏幕存在尺寸和布局的障碍。
这会导致屏幕尺寸,分辨率和DPI 的不同组合,并且在设计和开发Android设备时会带来相当大的挑战。虽然其他一些制造商(非Android)具有不同的分辨率和DPI,但它们共享相同的屏幕尺寸,并且分辨率遵循相同的宽高比。因此,可以创建图像以适合非Android设备。
我的问题是,为了满足要求,应该遵循适当的流程或架构吗?
请记住,我们确实有不同大小和分辨率的平板电脑。
我知道Android Developer包含此信息,但我的观点来自实施。
据我所知,我所理解的是,设计Android图形甚至程序员必须知道设计概念。
答案 0 :(得分:146)
最后创建了一个处理多个屏幕的布局和图标的结构。
Android根据两个参数将设备显示分为几类:
确定屏幕尺寸&密度很快,请安装" What's my Size"适用于Android的应用。
屏幕尺寸
Android定义了四种通用屏幕尺寸:
Qualifier Size
small ~3 inches (approx)
normal ~4 inches (approx)
large Exceeds 4 inches
xlarge Exceeds 7 inches
Android定义了四种通用屏幕密度:
Qualifier Description Nominal value
ldpi low density 120 ppi
mdpi medium density 160 ppi
hdpi high density 240 ppi
xhdpi extra high density 320 ppi
典型地:
列出here设备屏幕的百分比差异
但是我们现在知道大多数设备都带有 480X800 ,所以我认为这是基于设备的,所以我们的新计算会喜欢这个
这意味着将仅为 480X800 创建第一个图标和设计,然后为其他图标和设计创建(即Ldpi,Mdpi,Xhdpi)。
有些图像对于所有版面都是通用的,并且颜色和形状必须一致(没有复杂的形状,没有曲线)所以对于这种图像我们正在创建9patch
,它将被放入“可绘制的”中-suffix)“文件夹。要创建9Patch图像,您可以使用DrawNinePatch或BetterNinePatch
现在只需根据Android标准重命名您的图片,然后使用hdpi
完成您的应用,然后点击drawable-hdpi
文件夹并打开 Adode Photoshop (推荐)
创建多个大小的Action(只需根据百分比更改大小)一旦为所有大小创建了Action,然后执行Batch Automate并给予source(drawable-hdpi)和destination(drawable-ldpi,drawable-) mdpi,drawable-xdpi)。
我坚持使用Photoshop的原因是因为它会使用动作自动调整图像的大小,还有一点是你不需要重命名文件(它将指定与原始文件相同的名称)。
完成所有图像的创建后,刷新项目并进行测试。
有时支持屏幕(xhdpi,hdpi,mdpi)的布局可能会在小屏幕(ldpi)中被切割,因此为了处理这个,只需为它创建单独的布局文件夹(layout-small)并添加{ {1}}(大部分)。多数民众赞成。
<强>平板强> 平板电脑分为两种尺寸。
在此我们需要为屏幕创建图像并相应地放置它们
总而言之,我们的应用程序中将包含此文件夹以支持多个屏幕。
ScrollView
将与drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-large
drawable-xlarge
Screen size and Screen density
使用drawable-large-ldpi
drawable-large-mdpi
drawable-large-hdpi
drawable-large-xhdpi
Screen density and Version
以及drawable-ldpi-v11
drawable-mdpi-v11
drawable-hdpi-v11
drawable-xhdpi-v11
Screen size and Version
以及drawable-large-v11
drawable-xlarge-v11
Smallest width concept(SW)
在Android V3.0 Honeycomb中,他们引入了 drawable-sw???dp
的新概念,其中设备被分类为屏幕宽度,因此如果我们创建一个名为SW(smallest width)
的文件夹,那么设备将具有720dp(或者宽度或高度)将使用此文件夹中的资源。
例如,找到drawable-sw360dp
dp 后缀为 drawable-sw?dp
参考DP Calculation,如果您想支持您的布局或可绘制到S3,那么计算显示
px =设备的宽度= 720
dpi =设备密度= 320
给出的公式
Samsung Galaxy S3
交换公式因为我们有px的值
px = dp * (dpi / 160)
现在放价值,
dp = px / (dpi / 160)
所以 dp= 720 / (320/160);
dp=360.
将完成这项工作
从GsmArena获取设备配置 Sameway你也可以根据Device的Android API版本创建文件夹,即drawable-hdpi-v11`,这样设备就有了API11,而且它是Hdpi,那么它将使用这些资源。
其他提示:
使用相对布局,dp,sp和mm
dp单位 - 在160 ppi屏幕上归一化为1个物理像素的设备无关像素,即中密度。在运行时缩放。用于屏幕元素尺寸
sp units - 基于dp单位指定为浮点值的缩放像素,但另外根据用户的字体大小首选项设置进行缩放。在运行时缩放。 用于字体大小
你应该总是使用RelativeLayout进行布局; AbsoluteLayout已弃用,不应使用。
使用合适的图片格式 - PNG与JPEG
drawable-sw360dp
但是,PNG和JPEG不是等价物。他们有不同的质量权衡,PNG并不总是最好的:
JPEG 可以比PNG提供高达50%的文件大小缩减,如果您的应用是图像密集型的话,这是非常重要的
质量更高&#34;有损&#34; JPEG可能看起来比高度压缩的#34;无损&#34; PNG,文件大小相同
为图片和图形添加标签以进行调试
使用supports-screens元素
使用实际设备值配置仿真器
传统上,桌面系统显示为72ppi(Mac)或96ppi(Windows,Linux)。与移动相比,桌面显示器总是密度低。
始终将Android模拟器配置为模拟真实设备值,并始终将其设置为缩放以模拟设备密度。
在Eclipse中,可以轻松创建多个模拟器(从Eclipse菜单栏中选择 Window&gt; AVD Manager&gt; New ),并为实际设备配置值:
为其正在模拟的真实设备命名模拟器 指定分辨率,不要使用内置通用尺寸 设置设备密度以匹配实际设备(在“硬件”窗格中将“抽象LCD属性”设置为实际密度,始终为整数值)
启动设备时,请始终选择“缩放显示”为实际尺寸,然后以英寸为单位输入实际屏幕尺寸。
如果您未设置设备密度,则仿真器默认为低密度,并始终加载特定于ldpi的资源。分辨率(像素尺寸)将是正确的,但您的密度相关图像资源将无法按预期显示。
当然,您所做的任何事情都不会在较低密度的桌面显示屏上重现更高密度的图像质量。
以下是截至2012年10月1日的7天期间收集的数据。要查看有关Android平台版本的最新统计信息,go to here
基于屏幕尺寸
基于屏幕密度
答案 1 :(得分:1)
设计师应该创建
的基础设计 base size of mdpi devices * density conversion factor of highest supported density bucket
size.Base屏幕尺寸为320 X 480 px,密度桶如下:
要解决Android设备上的额外可用空间,应在两个方向(水平和垂直)使用可伸缩组件。详情请见:
http://vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer/