1 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(皇马船长)
分享到:
相关推荐
可以将mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi的图标自动生成mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi的图标 是个网站 没有侵权 亲测可用
Android应用图标大小自适应,多屏幕支持
输入手机或平板的分辨率和尺寸即可自动计算其密度,以及其他配置: small normal large xlarge ldpi mdpi hdpi xhdpi xxhdpi nodpi
可以将mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi的图标自动生成mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi的图标
"ldpi", "mdpi", "hdpi", "xhdpi","xxhdpi", "xxxhdpi" 比如我的美工人员设计了一个图片适合 xhdpi 分辨率的手机,我可以通过AndroidDrawable将这个xhdpi转换成 "ldpi", "mdpi", "hdpi", "xhdpi","xxhdpi", ...
安卓app手机屏幕适配技巧.zip 让android app适合不同尺寸的屏幕 分辨率mdpi、hdpi 、xhdpi、xxhdpi 4条黄金法则 9-patch PNG
这是github上的一个开源免费工具AndroidDrawableFactory,作者提供的exe不见了,于是自己down了源码,编译了一下 作者在2015就停止维护了,所以界面是有点丑的 使用方法: ...2.browse选择项目路径,进入到drawable那...
还可以识别 ldpi、mdpi、hdpi、xhdpi、xxhdpi 和 xxxhdpi 显示。 探测: ldpi(低)~120dpi mdpi(中)~160dpi hdpi(高)~240dpi xhdpi(超高)~320dpi xxhdpi(超高)~480dpi xxxhdpi(超超超高)~640dpi ...
(pixel),像素,屏幕上显示数据的最基本的点 PT (point), 点1pt=1/72英寸 PPI (pixel per inch),每英寸像素数 DPI (dot per inch),每英寸点数 DP 即dip(Density-independent pixel), 设备独立像素1dp=160...
AndroidResizer 一个java桌面应用程序,用于调整android开发的图片大小,即ldpi,mdpi,hdpi,xhdpi,xxhdpi 从dist文件夹下载ANDRE.jar文件并双击。 在所有操作系统上运行。
Android 屏幕适配篇工程师 李洪江理解ldpi,mdpi,hdpi,xhdpi,xxhdpi 1 跟屏幕密度有关系,跟屏幕分辨率没关系。如果没有,会找其他
PhotoshopToAndroidExporter 此脚本允许以Android格式(xxhdpi,xhdpi,hdpi,mdpi)导出当前的Photoshop CC文档。 为了使用此脚本: 将其拖到Photoshop CC的scripts文件夹中。 (仅第一次) 重新启动Photoshop CC。...
You start an app but require many different icons, in different sizes (ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi), different colors, and different variants. If you get the icons as vector (.svg) or ...
这是一个用于从 SVG 文件创建 LDPI、MDPI、HDPI 和 XHDPI 格式的 PNG 文件的工具。 这对于为 Android 应用程序快速创建可绘制对象非常有用。
使用144*144大小图标xxhdpi 生成hdpi xhdpi mdpi相应得图标
支持的分辨率 低密度脂蛋白 MPDI(设置为基准利率) HDPI XHDPI XXHDPI XXXHDPI 低的 * 普通的 * 高的 * * iOS 支持未经测试,理论上应该可以... 当您准备好导出图像时,您应该使图层适合正常的 MDPI 屏幕,其
自己撸的一个px,dp互转工具,可以选择ldpi,mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi进行转换
30:mdpi,hdpi,xhdpi,xxhdpi 32:mdpi(480*320) 34:hdpi(800*480) 36:xhdpi(1280*720) 38:xxhdpi(1920*1080) 70:x86平台 Google Play 服务可用于更新 Google 应用程序和 Google Play 提供的应用程序。这项元件...
该脚本将从源图像生成预期的mdpi , hdpi , xhdpi和xxhdpi资产。 要求 正在安装 $ pip install android-asset-resizer 如果要使用枕头映像库而不是PIL,则可以使用以下命令安装脚本: $ pip install --no-deps ...