Moh*_*ikh 89 android screen android-layout
我们知道Android配备了具有不同功能,分辨率和屏幕尺寸的各种设备,因此在开发支持多个(小型和大型)屏幕的应用程序时,存在尺寸和布局的障碍.
这导致屏幕尺寸,分辨率和DPI的不同组合,并且在设计和开发Android设备时产生了相当大的挑战.虽然其他一些制造商(非Android)具有不同的分辨率和DPI,但它们共享相同的屏幕尺寸,并且分辨率遵循相同的宽高比.因此,可以创建图像以适合非Android设备.
我的问题是,为了满足要求,应遵循适当的流程或架构吗?
请记住,我们确实有不同大小和分辨率的平板电脑.
我知道Android Developer包含这些信息,但我的观点来自实现.
据我所知,我所理解的是,设计Android图形甚至程序员必须知道设计概念.
Moh*_*ikh 146
最后创建了一个处理多个屏幕的布局和图标的结构.
Android根据两个参数将设备显示分为几类:
要快速确定屏幕尺寸和密度,请为Android 安装" 我的尺寸 "应用程序.
屏幕尺寸
Android定义了四种通用屏幕尺寸:
Qualifier Size
small ~3 inches (approx)
normal ~4 inches (approx)
large Exceeds 4 inches
xlarge Exceeds 7 inches
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
典型:
此处列出了设备屏幕的百分比差异
但是我们现在知道大多数设备都带有480X800所以我认为这是基于设备,所以我们的新计算会喜欢这个
这意味着第一个图标和设计将仅为480X800创建,然后为其他图标和设计创建(即Ldpi,Mdpi,Xhdpi).
有些图像对于所有布局都是通用的,并且必须在颜色和形状上均匀(没有复杂的形状,没有曲线),因此对于这种图像,我们创建9patch
了要放在"可绘制(无后缀)"文件夹中的图像.要创建9Patch图像,您可以使用DrawNinePatch或BetterNinePatch
现在只需根据Android的标准重命名您的图像并完成您的应用程序,hdpi
然后只需获取drawable-hdpi
文件夹和Open Adode Photoshop(推荐)创建多个大小的动作(只需按百分比比例更改大小)一旦为所有大小创建动作然后只做批量自动化并提供源(drawable-hdpi)和目标(drawable-ldpi,drawable-mdpi,drawable-xdpi).
我之所以坚持使用Photoshop是因为它会使用动作自动调整图像大小,还有一点是你不需要重命名文件(它将指定与原始文件相同的名称).
完成所有图像的创建后,刷新项目并进行测试.
有时可能有可能在小屏幕(ldpi)中切换支持屏幕(xhdpi,hdpi,mdpi)的布局,因此为了处理这个,只需为它创建单独的布局文件夹(layout-small)并添加ScrollView
(大部分).而已.
平板 电脑平板电脑分为两种尺寸.
在这里我们需要为屏幕创建图像并相应地放置它们
总而言之,我们将在我们的应用程序中使用此文件夹来支持多个屏幕.
drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-large
drawable-xlarge
Run Code Online (Sandbox Code Playgroud)
将更多的资格赛组合 Screen size and Screen density
drawable-large-ldpi
drawable-large-mdpi
drawable-large-hdpi
drawable-large-xhdpi
Run Code Online (Sandbox Code Playgroud)
更多限定符 Screen density and Version
drawable-ldpi-v11
drawable-mdpi-v11
drawable-hdpi-v11
drawable-xhdpi-v11
Run Code Online (Sandbox Code Playgroud)
和更多的限定符 Screen size and Version
drawable-large-v11
drawable-xlarge-v11
Run Code Online (Sandbox Code Playgroud)
和更多的限定符 Smallest width concept(SW)
drawable-sw???dp
Run Code Online (Sandbox Code Playgroud)
在Android V3.0 Honeycomb中,他们引入了新概念,SW(smallest width)
其中设备被分类为屏幕宽度,因此如果我们创建一个名为的文件夹,drawable-sw360dp
那么具有720dp(宽度或高度)的设备将使用此文件夹中的资源.
例如,找到Samsung Galaxy S3
dp到后缀为drawable-sw?dp
参考DP计算,如果你想支持你的布局或可绘制到S3那么计算说
px =设备宽度= 720
dpi =设备密度= 320
公式给出
px = dp * (dpi / 160)
Run Code Online (Sandbox Code Playgroud)
交换公式因为我们有px的值
dp = px / (dpi / 160)
Run Code Online (Sandbox Code Playgroud)
现在投入价值,
dp= 720 / (320/160);
dp=360.
Run Code Online (Sandbox Code Playgroud)
所以drawable-sw360dp
会做这个工作
从GsmArena Sameway 获取设备配置你也可以根据设备的Android API版本创建文件夹,即drawable-hdpi-v11`,因此具有API11的设备是Hdpi然后它将使用这些资源.
其他提示:
使用相对布局,dp,sp和mm
dp单位 - 在160 ppi屏幕上归一化为1个物理像素的设备无关像素,即中密度.在运行时缩放.用于屏幕元素尺寸
sp单位 - 缩放像素,指定为浮点值,基于dp单位,但另外根据用户的字体大小首选项设置进行缩放.在运行时缩放.用于字体大小
你应该总是使用RelativeLayout进行布局; 不推荐使用AbsoluteLayout,不应使用它.
使用适当的图像格式 - PNG与JPEG
Android "prefers" PNG for bitmap image files, "accepts" JPEG, and "discourages" GIF.
但是,PNG和JPEG不是等价物.他们有不同的质量权衡,PNG并不总是最好的:
与PNG相比,JPEG可以提供高达50%的文件大小缩减,如果您的应用程序是图像密集型的,这是非常重要的
对于相同的文件大小,更高质量的"有损"JPEG可能看起来比高度压缩的"无损"PNG更好
为图像和图形添加标签以进行调试
使用supports-screens元素
使用实际设备值配置仿真器
通常,桌面系统以72ppi(Mac)或96ppi(Windows,Linux)显示.与移动相比,桌面显示器始终是低密度的.
始终将Android仿真器配置为模拟真实设备值,并始终将其设置为按比例缩放以模拟设备密度.
在Eclipse中,可以轻松创建多个模拟器(从Eclipse菜单栏中选择Window> AVD Manager> New),并为实际设备配置值:
为其模拟的真实设备命名仿真器指定分辨率,不要使用内置通用尺寸设置设备密度以匹配实际设备(在硬件窗格中将抽象LCD属性设置为实际密度,始终为整数值)
启动设备时,请始终选择"缩放显示"为实际尺寸,然后以英寸为单位键入实际屏幕尺寸.
如果未设置设备密度,则仿真器默认为低密度,并始终加载特定于ldpi的资源.分辨率(像素尺寸)将是正确的,但您的密度相关图像资源将无法按预期显示.
当然,您所做的任何事情都不会在较低密度的桌面显示器上再现更高密度的图像质量.
以下是截至2012年10月1日的7天期间收集的数据.要查看有关Android平台版本的最新统计信息,请转到此处
基于屏幕尺寸
基于屏幕密度
归档时间: |
|
查看次数: |
25427 次 |
最近记录: |