android手机和ios手机的分辨率

Android手机目前常见的分辨率

1.1 手机常见分辨率:

4:3
VGA    
640*480 (Video Graphics Array)
QVGA  320*240 (Quarter VGA)
HVGA  480*320 (Half-size VGA)
SVGA  800*600 (Super VGA)

5:3
WVGA  800*480 (Wide VGA)

16:9
FWVGA 854*480 (Full Wide VGA)
HD       
1920*1080 High Definition
QHD    
960*540
720p   
1280*720  标清
1080p  1920*1080 高清

手机:
iphone 4/4s   
960*640 (3:2)
iphone5        
1136*640
小米1            
854*480(FWVGA)
小米2            
1280*720

1.2
分辨率对应DPI
"HVGA   
mdpi"

"WVGA   hdpi "
"FWVGA hdpi "
"QHD     
hdpi "
"720P    
xhdpi"
"1080P   xxhdpi "

2 屏幕适配的注意事项

2.1
基本设置

2.1.1
AndroidManifest.xml设置

在中Menifest中添加子元素

android:anyDensity="true"时,应用程序安装在不同密度的终端上时,程序会分别加载xxhdpi、xhdpi、hdpi、mdpi、ldpi文件夹中的资源。

相反,如果设为false,即使在文件夹下拥有相同资源,应用不会自动地去相应文件夹下寻找资源:

1)
如果drawable-hdpi、drawable-mdpi、drawable-ldpi三个文件夹中有同一张图片资源的不同密度表示,那么系统会去加载drawable_mdpi文件夹中的资源;

2)
如果drawable-hpdi中有高密度图片,其它两个文件夹中没有对应图片资源,那么系统会去加载drawable-hdpi中的资源,其他同理;

3)
如果drawable-hdpi,drawable-mdpi中有图片资源,drawable-ldpi中没有,系统会加载drawable-mdpi中的资源,其他同理,使用最接近的密度级别。

2.1.2
横屏竖屏目录区分

1) drawable

a) drawable-hdpi该图片即适用于横屏,也适用于竖屏;

b) drawable-land-hdpi,当屏幕为横屏,且为高密度时,加载此文件夹的资源;

c) drawable-port-hdpi,当屏幕为竖屏,且为高密度时,加载此文件夹中的资源。其他同理。

2) layout

在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,以适应对横屏竖屏自动切换。

2.2 多屏幕适配的4条黄金原则

1)
在layout文件中设置控件尺寸时应采用fill_parent、wrap_content、match_parent和dp;

具体来说,设置view的属性android:layout_width和android:layout_height的值时,wrap_content,match_parent或dp比px更好,文字大小应该使用sp来定义

2) 在程序的代码中不要出现具体的像素值,在dimens.xml中定义;

为了使代码简单,android内部使用pix为单位表示控件的尺寸,但这是基于当前屏幕基础上的。为了适应多种屏幕,android建议开发者不要使用具体的像素来表示控件尺寸。

3) 不使用AbsoluteLayout(android1.5已废弃) ,可以使用RelativeLayout替代;

4) 对不同的屏幕提供合适大小的图片。

不同大小屏幕用不同大小的图片,low:medium:high:extra-high图片大小的比例为3:4:6:8;举例来说,对于中等密度
(medium)的屏幕你的图片像素大小为48×48,那么低密度(low)屏幕的图片大小应为36×36,高(high)的为72×72,extra-
high为96×96。

2.3 使用9-patch PNG图片

使用图片资源时,如果出现拉伸,因为图片处理的原因,会变形,导致界面走形。9-patch
PNG图片也是一种标准的PGN图片,在原生PNG图片四周空出一个像素间隔,用来标识PNG图片中哪些部分可以拉伸、哪些不可以拉伸、背景上的边框位置等。

“上、左”定义可拉伸区域

“右、下”定义显示区域,如果用到完整填充的背景图,建议不要通过android:padding来设置边距,而是通过9-patch方式来定义。

Android
SDK中提供了编辑9-Patch图片的工具,在tools目录下draw9patch.bat,能够立刻看到编辑后的拉伸效果,也可以直接用其他图片编辑工具编辑,但是看不到效果。

2.4 不同的layout

Android手机屏幕大小不一,有480x320, 640x360, 800x480……

怎样才能让Application自动适应不同的屏幕呢?

其实很简单,只需要在res目录下创建不同的layout文件夹,比如:layout-640x360、layout-800x480……所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。

2.5 测试验证

一般使用AVD Manager创建多个不同大小的模拟器,如果条件具备,也可以直接用真机测试,这个比较靠谱。

3
参考资料

http://blog.csdn.net/guozh/article/details/8954994

http://my.eoe.cn/cainiao1/archive/2348.html皇马船长

ios的分辨率(即iphone手机屏幕的分辨率、主屏参数),是一个与硬件相关的参数,如iphone3以前的屏幕分辨率都是320x480,从iphone4开始为640x960 这与开发中ios SDK的版本(3.0、3.2、4.0、4.2、4.3.0、5.0、5.1)等是没什么关系的

Deployment Target  ios sdk  simulator版本

都说做iOS开发比Android省心,那么iOS是如何做到这一点的呢?我们今天就来分析一下,希望对做iOS的界面设计的同学有点帮助。

1 iOS设备的分辨率

iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类

iPhone/iPod Touch

普屏分辨率    320像素
x 480像素

Retina分辨率 640像素 x 960像素

iPad,iPad2/New iPad

普屏
       768像素
x 1024像素

Retina屏  1536像素 x 2048像素

2
 iOS设计时用的点与分辨率的关系

尽管有上面列出的4种分辨率情况,不过细心的人会发现,对于Retina屏的分辨率始终保持为普屏的2倍,这对于iOS的设计还是开发的时候提供的
莫大的方便,自然可以想到对于界面设计而言,只需要设计一套,然后进行等比例放大缩小即可。实际进行设计与开发的时候,也确实是这样,Apple为了防止
在交流过程中(尤其对于编程实现)分辨率对思维的迷惑,统一使用点(Point)对界面元素的大小进行描述,例如:

iPhone/iPod Touch

界面描述    320点 x 480点

iPhone/iPad

界面描述    768点 x 1024点

换算关系

普屏
      1点
= 1像素

Retina屏 1点 = 2像素

这样,不管我们是在为普屏还是Retina屏进行设计与开发,我们都可以清楚地,并且统一地使用点对界面元素的大小进行描述了。

3
 iOS界面图片的命名

现在我们能够用统一的语言描述两种屏幕的界面元素的大小,但是我们如何针对不同屏幕设置不同分辨率的图片素材呢?难道说开发的时候我们要在每一个图
片加载的地方进行,添加判断当前设备是否是Retina屏的语句,然后加载对应的图片吗?当然可以这样做,但是iOS有一套更简便的方法进行自动加载,即
通过规范的文件名命名。例如下面这条加载图片的语句:

[UIImage imageNamed:@"pic.png"]]

在实际运行时,如果发现当前的设备是Retina屏,会自动寻找图片"[email protected]"
,自动加载针对Retina屏的图片素材,是不是很方便呢?

所以,我们在制作iOS设备时,可以仿照下面这样,对图片文件进行分类,对于640x960文件夹里的图片,文件命名添加"@2x"即可。

4
 iOS应用常用图标的命名规范

可以参考下面两个文档:

Apple对此问题的Q&A
https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.htm

Apple的官方说明文档  
https://developer.apple.com/library/ios/#qa/qa1686/_index.html

请务必按照文档中描述的规范进行图标的命名!!

PS:一些额外的图标参考

a 图标会自动添加高亮效果,如果不需要,可以在plist中明确指定UIPrerenderedIcon的键值去掉

b 57像素的普屏的iPhone图标,图标圆角的半径为10像素

c 114像素Retina屏的iPhone图标,图标圆角的半径为20像素

d 512像素的用于iTunes/App
Store的图标,在实际显示是会被缩放到175像素进行显示(但提交是不可以提交175像素)

e 72像素的普屏iPad图标,图标圆角的半径为13像素

f 144像素Retina屏iPad图标,图标圆角的半径为26像素

g
50像素iPad的Spotlight搜索图标的最终视觉大小是48像素,原因是iOS会对图标的每个边去掉1个像素,添加阴影效果

h 100像素Retina屏的Spotlight搜索图标的最终视觉大小是96像素,原因同上,这次是每边减2个像素

来源:http://www.cnblogs.com/BigPolarBear/archive/2012/03/26/2417777.html

是为了在iphone4上显示的更清晰...

因为Phone4采用了一个叫做retina的屏幕,尺寸和老的iphone一样大,但是分辨率提高了4倍,看起高清的图来,爽太多了,根本看不到像素点.


于老的app来说,在iphone4中运行,会自动用4个像素替代原来的一个像素,这样就不用更改代码,使得老app可以自然的在iphone4中运行,
但是UI的效果会有些蒙蒙的,不是最佳的效果,要达到最佳,必须为原来的图片资源,重新设计一份640*960的高清版本,这样才能在iphone4内达
到最佳的UI效果~

所以,只用给同名的高清图加上@2x这个后缀,用UIImage的imageNamed这个函数调用图片名(未带@2x的),就会自动帮你调用合适的图片,使用起来很方便.

时间: 2024-11-08 07:39:29

android手机和ios手机的分辨率的相关文章

在 Android 和 iOS 手机上模拟触屏点击的区别

通过与 App 通讯(Android 或 iOS)来控制 App 界面响应用户的操作: 1 Android 手机: 在 Activity 中使用 MotionEvent 来模拟点击操作.2 IOS 手机: 点击发送的 Touch 或者 Move事件(在 Android 手机上不用区分),都是经过 App 内部识别以后,在当前的界面上进行处理,处理的流程就是在当前界面遍历控件,然后手动调用当前控件所执行的函数. 如果发送的数据中包含移动事件,App 端会处理识别为滑动事件,不会触发点击事件的响应.

部分Android或IOS手机拍照后照片被旋转的问题

1.我们平时手机拍的照片,传到电脑后,使用Photoshop或者其它图片浏览工具打开时,发现图片是被转过的.可是Windows上预览却是正的.其实原因是部分Android或IOS手机拍照后,将图片角度信息存到了Exif信息中.我们只需要读取出来,再做相应的重绘,即可. 2.代码送上. class ImageNormal { public void NormalImageDegree(string imagePath) { var bitmap = (Bitmap)Bitmap.FromFile(

delphi 手机振动 IOS Android

delphi  手机振动 IOS Android https://community.embarcadero.com/blogs/entry/how-to-vibrate-ios-and-android-phones-using-firemonkey-and-xe8 http://blogs.embarcadero.com/davidi/2015/07/06/43894/ unit Umain; interface uses System.SysUtils, System.Types, Syst

Android/IOS手机使用Fildder2抓包

对于Android和IOS开发及测试的同事来说抓包是一个很重要的事,有利于排查问题所在,快速定位问题.但长期以来一直没有一款可以快速抓包的工具,直到有了Fildder2. 使用步骤: 1.  Fiddler2下载地址(http://fiddler2.com/) 2.  下载对应的版本安装到电脑 3.  打开Fiddler软件,界面和其他抓包软件大致一样,效果图如下: 4.  接下来就是抓取Android/IOS的数据包了,首先安装Fiddler2的电脑必须与Android/IOS手机处于同一个局

Loadrunner实现Android / IOS 手机APP压力测试

随着手机APP用户量的增大,大的手机APP一般都需要进行压力测试,这几天用了loadrunner 12进行了手机APP的压力测试,整理了下,大家可以参考参考怎样给Andorid / IOS手机APP进行压力测试,以下是操作实例. 下面介绍LR12进行手机压测的步骤: 1.       网上下载个Loadrunner 12的安装包,我下了个叫 HP_LoadRunner_12_Community_Edition_T7177-15045.exe的文件,这个960M,还有个1.2G的名称中有个Addi

苹果iOS手机后门的”诊断功能论“不攻自破

7月23日,苹果公司发布公告,题为"iOS:About diagnostic capabilities"("iOS:关于诊断功能"),其中声称:iOS offers the following diagnostic capabilities to help enterprise IT departments, developers, -... 所谓的"诊断功能"("diagnostic capabilities")体现在哪里呢

Android ADB工具-操作手机和获取手设备信息(四)

Android ADB工具-操作手机和获取手设备信息(四) 标签(空格分隔): Android ADB 6. 其他命令 命令 功能 adb shell input text <content> 发送文本内容 adb shell input keyevent <keycode> 发送键盘事件 adb shell wm size 获取设备分辨率 adb shell getprop <key> 获取设备参数信息 adb shell setprop <key> &l

JS判断请求来自Android手机还是iPhone手机

<script type="text/javascript"> var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android')

Android and HTML5 开发手机应用(转载)

作为一个WEB开发者,HTML5让我兴奋,因为它可以将桌面应用程序功能带入浏览器中.但在国内,看着到处横行的IE8版本以下的浏览器,觉得到能大规模使用HTML5技术的那天,还遥遥无期.但面对iOS及Android等平台的手机用户越来越多,基于Webkit内核的移动浏览器一定能让HTML5先大规模应用起来.这将对对移动 Web 应用程序开发具有重大影响. 作为非常看好未来手机网络的我,也在一直研究Android平台的应用的开发,也许是因为自己更熟悉HTML及CSS.JS,并受到之前使用HTML和V