Android如何应对不同分辨率手机匹配问题

                          我们在编写app时,总是用自己的手机调试我们的app,于是出来的效果就是我们手机好就是好,根本不管运行到人家手机是怎么样的,于是当自己得意洋洋下载到人家手机看效果时就傻眼了,what the  fuck,这个又丑又长的的app界面设计简直不忍直视好嘛,请专业点好吗,这里虽然是安卓初步,养成良好的界面设计规范是非常重要的,现在我来普及几个常识。

 

 

按像素密度分类的类别有 LDPIMDPIHDPI  XHDPI

48 dp 的设计韵律

一般来说,可触摸控件以 48 dp 为基础单位。

为什么是 48 dp?

一般情况下,48 dp 在设备上的物理大小是 9 mm (会有一些变化)。这刚好在触摸控件推荐的大小范围 (7-10 mm) 内,而且这样的大小,用户用手指触摸起来也比较准确、容易。

如果你设计的元素都至少有 48 dp 的高度和宽度,那么可以保证:

  • 你设计的元素在任何屏幕上显示时,都不会小于最低推荐值 7 mm。
  • 你可以在信息密度和界面元素的可操控性之间得到较好的平衡。

具体可以看下一下博客内容,转载自:http://blog.sina.com.cn/s/blog_6499f8f101014ipq.html

一个优秀的手机软件,不仅要有精巧的功能,流畅的速度,让人赏心悦目的UI也往往是用户选择的重要理由。作为移动产品的PM,也需要了解一些在UI设计中的基本知识。

 

1. pxpt,一对好伙伴

在视觉设计中,我们经常会见到以下两个单位: px和磅数pt

P,是英文单词pixel的缩写,意为像素。在设计领域中,像素是用来计算数码影像的一种单位。计算机中显示的图像并非连续的线条组成,而是由许多肉眼看不见的小点组成。如果把把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小点所组成,这些小点就是构成影像的最小单位“像素”。由于是最小的独立显示单位,px均为整数,不会出现0.5px的情况。

 

图一 看这个色彩鲜艳的LED灯(原图大小)




 

图二 你能想象这才是他的本来面目吗?(放大之后)

 

 

 

Pt,则是point的缩写,一般音译为磅数,也有人直译为点数,请大家自行转换。这是使用在印刷领域的单位,一磅等于1/72英寸。在国际上一般会用pt作为字体的单位。

一般情况下,设计师们采用px来进行标注设计图中的图形,用pt来标注文字。在过去很多年的视觉设计中,pxpt的配合堪称天衣无缝,把PC打扮得花枝招展,堪称史上最佳配合的好伙伴。

 

2. 那些年,我们一起追过的Android

在突如其来的移动互联网时代,pxpt的配合变得不那么和谐。原因就在于Android携众高矮不一,胖瘦各异的爱妃来到世人面前,给他们化妆就变成横看成岭侧成峰,远近高低各不同了。

由于GoogleAndroid的开放政策,使得所有厂商都可以加入到智能手机的研发中来。于是乎,Android手机一时间百花齐放,出现了各种不同的手机样式。比如:

 

表一 Android分辨率规格(宽*高):

240*320 320*240 320*480 480*800 480*854 640*960 720*1280,……还有平板

分辨率

比率

市场对应手机

320×480

2:3

三星S5830 Galaxy Ace、三星 I5700、三星I7500、华为U8500

索尼爱立信X8 (E15i) 、华为 C8600、Motorola XT502 

Motorola ME600、Motorola CLIQ、Motorola ME501

LG P503、LG GT540、LG GW620、LG P500

HTC G6 Legend、HTC Aria (G9)、酷派 D530、酷派 W711

夏普 SH8118U、天语 W606 、中兴 R750、首派 A60

240x320

3:4

HTC A3366 Wildfire、HTC A3380 、HTC A3360

Motorola ME511 、Motorola XT301 、Motoroal XT300

华为 C8500、三星 I5508、中兴 X850、索尼爱立信 U201、SAMSUNG S5570、

480x800

3:5

HTC Desire (G7)、HTC A9191 、HTC 双擎T9199

HTC A9191、HTC Desire HD (G10) 、HTC Desire Z

HTC Incredible S (S710e)、 HTC EVO 4G、三星 I9003

三星 I9010、三星 I9088、三星 I909、三星 I9088、三星I9000

三星I909 (SPhone)、三星I9020、三星T959、三星W899

酷派N930、Google Nexus S、、酷派 N930、戴尔Venue

联想W101 乐phone (1.6系统非原生)、中兴 V9E、中兴 V880

联想W100乐phone(1.6)、联想C101、夏普 SH8128 、

夏普 SH7218U(新机)、Motorola A1680、华为 U8800

戴尔Mini5 (Streak) 、Google Nexus One (G5)

600x1024

75:128

三星 Galaxy P1000

480x854

 

Motorola XT702、Motorola XT711

Motorola ME722 (里程碑2)、Motorola XT800

Motorola ME811 (Droid X)、Motorola ME525

Motorola XT800+ 、Motorola XT806Ix

索尼爱立信 X10i

 

图三 Android屏幕物理尺寸规格

屏幕物理尺寸3.23.53.754.04.35.079.310.1



  

为了更好的描述这种多样化引发的问题,我们需要引入一个新的概念density,也就是密度。它指的是在一定尺寸的物理屏幕上显示像素的数量,一般使用dpi(dots per inch,每英寸像素数)作为单位。比如一台分辨率为240x320,屏幕物理尺寸为1.5英寸x2英寸的手机,他的密度可以用分辨率/尺寸,240/1.5或者320/2,密度为160dpi。对于用户来说,密度越大的屏幕显示效果越精细,因为每英寸显示的像素数量更多。

如果是要使用pxpt给程序贴图,假设生成了一条240px的直线,在240*320的屏幕上刚好可以铺满,而放到480x800的分辨率下才刚刚到一半的位置。

如果要解决这样的问题,那么程序在实现的时候就必须为每个分辨率都写一个配置,否则就会出现图形在低密度的屏幕上显示的更大,而在高密度的屏幕上显示的更小。最麻烦的事情在于,一旦出现新的分辨率,所有程序都没办法直接运行了。这明显不符合手机快速发展的客观规律。

 

3. 新的搭档,dpsp

为了解决这个问题,GoogleAndroid引入了一套新的单位dpsp

首先登场的是dpDensity Independent Pixel,可以翻译为密度无关像素。和px相比,dp在不同密度的屏幕中实际显示比例将保持一致。根据规定,一个dp相当于160dpi屏幕中的一个px。在320dpi的屏幕中,一个dp<span style="line-height: 21px; font-family: 宋体; word-break: no

                          我们在编写app时,总是用自己的手机调试我们的app,于是出来的效果就是我们手机好就是好,根本不管运行到人家手机是怎么样的,于是当自己得意洋洋下载到人家手机看效果时就傻眼了,what the  fuck,这个又丑又长的的app界面设计简直不忍直视好嘛,请专业点好吗,这里虽然是安卓初步,养成良好的界面设计规范是非常重要的,现在我来普及几个常识。     按像素密度分类的类别有  LDPI MDPI HDPI    XHDPI 一般来说,可触摸控件以 48 dp 为基础单位。 为什么是 48 dp? 一般情况下,48 dp 在设备上的物理大小是 9 mm (会有一些变化)。这刚好在触摸控件推荐的大小范围 (7-10 mm) 内,而且这样的大小,用户用手指触摸起来也比较准确、容易。 如果你设计的元素都至少有 48 dp 的高度和宽度,那么可以保证:
  • 你设计的元素在任何屏幕上显示时,都不会小于最低推荐值 7 mm。
  • 你可以在信息密度和界面元素的可操控性之间得到较好的平衡。

具体可以看下一下博客内容,转载自:http://blog.sina.com.cn/s/blog_6499f8f101014ipq.html

猜你喜欢

转载自429899791.iteye.com/blog/2249822
今日推荐