Android手机目前常见的分辨率html
1.1 手机常见分辨率:java
4:3
VGA 640*480 (Video Graphics Array)
QVGA 320*240 (Quarter VGA)
HVGA 480*320 (Half-size VGA)
SVGA 800*600 (Super VGA)android
5:3
WVGA 800*480 (Wide VGA)ios
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*720app
1.2 分辨率对应DPI
"HVGA mdpi"iphone
"WVGA hdpi "
"FWVGA hdpi "
"QHD hdpi "
"720P xhdpi"
"1080P xxhdpi "ide
在中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中的资源,其余同理,使用最接近的密度级别。
1) drawable
a) drawable-hdpi该图片即适用于横屏,也适用于竖屏;
b) drawable-land-hdpi,当屏幕为横屏,且为高密度时,加载此文件夹的资源;
c) drawable-port-hdpi,当屏幕为竖屏,且为高密度时,加载此文件夹中的资源。其余同理。
2) layout
在res目录下创建layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,以适应对横屏竖屏自动切换。
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。
使用图片资源时,若是出现拉伸,由于图片处理的缘由,会变形,致使界面走形。9-patch PNG图片也是一种标准的PGN图片,在原生PNG图片四周空出一个像素间隔,用来标识PNG图片中哪些部分能够拉伸、哪些不能够拉伸、背景上的边框位置等。
“上、左”定义可拉伸区域
“右、下”定义显示区域,若是用到完整填充的背景图,建议不要经过android:padding来设置边距,而是经过9-patch方式来定义。
Android SDK中提供了编辑9-Patch图片的工具,在tools目录下draw9patch.bat,可以马上看到编辑后的拉伸效果,也能够直接用其余图片编辑工具编辑,可是看不到效果。
Android手机屏幕大小不一,有480x320, 640x360, 800x480……
怎样才能让Application自动适应不一样的屏幕呢?
其实很简单,只须要在res目录下建立不一样的layout文件夹,好比:layout-640x360、layout-800x480……全部的layout文件在编译以后都会写入R.java里,而系统会根据屏幕的大小本身选择合适的layout进行使用。
通常使用AVD Manager建立多个不一样大小的模拟器,若是条件具有,也能够直接用真机测试,这个比较靠谱。
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.二、4.0、4.二、4.3.0、5.0、5.1)等是没什么关系的
都说作iOS开发比Android省心,那么iOS是如何作到这一点的呢?咱们今天就来分析一下,但愿对作iOS的界面设计的同窗有点帮助。
iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类
普屏分辨率 320像素 x 480像素
Retina分辨率 640像素 x 960像素
普屏 768像素 x 1024像素
Retina屏 1536像素 x 2048像素
尽管有上面列出的4种分辨率状况,不过细心的人会发现,对于Retina屏的分辨率始终保持为普屏的2倍,这对于iOS的设计仍是开发的时候提供的 莫大的方便,天然能够想到对于界面设计而言,只须要设计一套,而后进行等比例放大缩小便可。实际进行设计与开发的时候,也确实是这样,Apple为了防止 在交流过程当中(尤为对于编程实现)分辨率对思惟的迷惑,统一使用点(Point)对界面元素的大小进行描述,例如:
界面描述 320点 x 480点
界面描述 768点 x 1024点
普屏 1点 = 1像素
Retina屏 1点 = 2像素
这样,无论咱们是在为普屏仍是Retina屏进行设计与开发,咱们均可以清楚地,而且统一地使用点对界面元素的大小进行描述了。
如今咱们可以用统一的语言描述两种屏幕的界面元素的大小,可是咱们如何针对不一样屏幕设置不一样分辨率的图片素材呢?难道说开发的时候咱们要在每个图 片加载的地方进行,添加判断当前设备是不是Retina屏的语句,而后加载对应的图片吗?固然能够这样作,可是iOS有一套更简便的方法进行自动加载,即 经过规范的文件名命名。例以下面这条加载图片的语句:
[UIImage imageNamed:@"pic.png"]]
在实际运行时,若是发现当前的设备是Retina屏,会自动寻找图片"pic@2x.png" ,自动加载针对Retina屏的图片素材,是否是很方便呢?
因此,咱们在制做iOS设备时,能够仿照下面这样,对图片文件进行分类,对于640x960文件夹里的图片,文件命名添加"@2x"便可。
能够参考下面两个文档:
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的),就会自动帮你调用合适的图片,使用起来很方便.