- 浏览: 1314753 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (132)
- android Launcher (15)
- 收藏夹 (3)
- UI设计 (28)
- J2EE (2)
- android网络编程 (8)
- 项目经理是熬出来的 (8)
- Android图像处理 (5)
- 系统层开发 (12)
- 数据库 (2)
- 程序员是熬出来的 (2)
- Android技巧 (11)
- 地图相关 (2)
- Android底层 (9)
- Android疑难杂症 (4)
- 开发工具 (4)
- 知识梳理 (8)
- 源码阅读 (7)
- Media媒体库 (5)
- 调试技术 (3)
- Android蓝牙 (3)
- 动画特效 (5)
- jni (3)
- 串口通信 (1)
- Android优化 (3)
- 架构设计 (1)
- Android Test (1)
- 翻译系列 (0)
最新评论
-
我说123木头人雪雪:
...
Android截屏并对图片做高斯模糊处理 -
ysc123shift:
没有源码。
Android截屏并对图片做高斯模糊处理 -
我de专属doll:
你那个Jni库是自己编译的还是有现成的呢?
Android media媒体库分析之:分类别统计媒体文件大小 -
zhunanfengfeimeng:
想做项目经理?这些工具必须了解 -
ls0609:
一个带人脸识别的智能照相机demohttp://blog.cs ...
Android 调用相机,获取的图片太小
一、概念介绍:
1、density值表示每英寸有多少个显示点,与分辨率是两个概念。
不同density下屏幕 分辨率信息,以480*800的WVGA(density=240)
density=120时 屏幕实际分辨率为240*400 (两个点对应一个分辨率)
横屏是屏幕宽度400px 或者800dip,工作区域高度211px或者480dip
竖屏时屏幕宽度240px或者480dip,工作区域高度381px或者775dip
density=160时 屏幕实际分辨率为320px*533px (3个点对应两个分辨率)
状态栏和标题栏高个25px或者25dip
横屏是屏幕宽度533px 或者800dip,工作区域高度295px或者480dip
竖屏时屏幕宽度320px或者480dip,工作区域高度508px或者775dip
density=240时 屏幕实际分辨率为480px*800px (一个点对于一个分辨率)
状态栏和标题栏高个38px或者25dip
横屏是屏幕宽度800px 或者800dip,工作区域高度442px或者480dip
竖屏时屏幕宽度480px或者480dip,工作区域高度762px或者775dip
2、apk的资源包中,当屏幕density=240时使用hdpi标签的资源
当屏幕density=160时,使用mdpi标签的资源
当屏幕density=120时,使用ldpi标签的资源。
3、不加任何标签的资源是各种分辨率情况下共用的。
布局时尽量使用单位dip,少使用px
屏幕 宽度 高度 尺寸 大小 密度
Type (Pixels) (Pixels) Range (inches) Size Group
QVGA 240 320 2.6 - 3.0 Small Low
WQVGA 240 400 3.2 - 3.5 Normal Low
FWQVGA 240 432 3.5 - 3.8 Normal Low
HVGA 320 480 3.0 - 3.5 Normal Medium
WVGA 480 800 3.3 - 4.0 Normal High
FWVGA 480 854 3.5 - 4.0 Normal High
WVGA 480 800 4.8 - 5.5 Large Medium
FWVGA 480 854 5.0 - 5.8 Large Medium
二、如何做到自适应屏幕大小呢?
1)界面布局方面
需要根据物理尺寸的大小准备5套布局,layout(放一些通用布局xml文件,比如界面中顶部和底部的布局,不会随着屏幕大小变化,类似windos窗口的title bar),layout-small(屏幕尺寸小于3英寸左右的布局),layout-normal(屏幕尺寸小于4.5英寸左右),layout-large(4英寸-7英寸之间),layout-xlarge(7-10英寸之间)
2)图片资源方面
需要根据dpi值准备5套图片资源,drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi
Android有个自动匹配机制去选择对应的布局和图片资源
三、如何设计UI?
1、美工按某一尺寸设计效果图,一般是720p或1080p,其他尺寸可以不设计;
2、根据美工的设计计算出图片的原始尺寸,这里要用到屏幕密度,比如某1080p得手机像素密度480,那怎么计算远程尺寸(密度为160得尺寸)呢?
美工的某一图片60X90,是按1080p设计的,那计算出来的原始尺寸是20X30,在720p上显示大小为:40X60。
3、四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
一般情况下的普通屏幕对应关系:
名称 像素密度范围
mdpi 120dpi~160dpi
hdpi 160dpi~240dpi
xhdpi 240dpi~320dpi
xxhdpi 320dpi~480dpi
xxxhdpi 480dpi~640dpi
"HVGA mdpi"
"WVGA hdpi "
"FWVGA hdpi "
"QHD hdpi "
"720P xhdpi"
"1080P xxhdpi "
美工按那个尺寸设计的,就防止到那个文件夹下,比如美工是按1080p设计的,就将截图放到xxhdpi文件夹下;
参考资料:
1、google官方给的关于屏幕适配的文章介绍(翻译篇):
http://hukai.me/android-training-course-in-chinese/basics/supporting-devices/screens.html
2、像素密度获取参考:http://gqdy365.iteye.com/admin/blogs/1569712
3、http://blog.csdn.net/zhaokaiqiang1992/article/details/45419023
1、density值表示每英寸有多少个显示点,与分辨率是两个概念。
不同density下屏幕 分辨率信息,以480*800的WVGA(density=240)
density=120时 屏幕实际分辨率为240*400 (两个点对应一个分辨率)
横屏是屏幕宽度400px 或者800dip,工作区域高度211px或者480dip
竖屏时屏幕宽度240px或者480dip,工作区域高度381px或者775dip
density=160时 屏幕实际分辨率为320px*533px (3个点对应两个分辨率)
状态栏和标题栏高个25px或者25dip
横屏是屏幕宽度533px 或者800dip,工作区域高度295px或者480dip
竖屏时屏幕宽度320px或者480dip,工作区域高度508px或者775dip
density=240时 屏幕实际分辨率为480px*800px (一个点对于一个分辨率)
状态栏和标题栏高个38px或者25dip
横屏是屏幕宽度800px 或者800dip,工作区域高度442px或者480dip
竖屏时屏幕宽度480px或者480dip,工作区域高度762px或者775dip
2、apk的资源包中,当屏幕density=240时使用hdpi标签的资源
当屏幕density=160时,使用mdpi标签的资源
当屏幕density=120时,使用ldpi标签的资源。
3、不加任何标签的资源是各种分辨率情况下共用的。
布局时尽量使用单位dip,少使用px
屏幕 宽度 高度 尺寸 大小 密度
Type (Pixels) (Pixels) Range (inches) Size Group
QVGA 240 320 2.6 - 3.0 Small Low
WQVGA 240 400 3.2 - 3.5 Normal Low
FWQVGA 240 432 3.5 - 3.8 Normal Low
HVGA 320 480 3.0 - 3.5 Normal Medium
WVGA 480 800 3.3 - 4.0 Normal High
FWVGA 480 854 3.5 - 4.0 Normal High
WVGA 480 800 4.8 - 5.5 Large Medium
FWVGA 480 854 5.0 - 5.8 Large Medium
二、如何做到自适应屏幕大小呢?
1)界面布局方面
需要根据物理尺寸的大小准备5套布局,layout(放一些通用布局xml文件,比如界面中顶部和底部的布局,不会随着屏幕大小变化,类似windos窗口的title bar),layout-small(屏幕尺寸小于3英寸左右的布局),layout-normal(屏幕尺寸小于4.5英寸左右),layout-large(4英寸-7英寸之间),layout-xlarge(7-10英寸之间)
2)图片资源方面
需要根据dpi值准备5套图片资源,drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi
Android有个自动匹配机制去选择对应的布局和图片资源
三、如何设计UI?
1、美工按某一尺寸设计效果图,一般是720p或1080p,其他尺寸可以不设计;
2、根据美工的设计计算出图片的原始尺寸,这里要用到屏幕密度,比如某1080p得手机像素密度480,那怎么计算远程尺寸(密度为160得尺寸)呢?
美工的某一图片60X90,是按1080p设计的,那计算出来的原始尺寸是20X30,在720p上显示大小为:40X60。
3、四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
一般情况下的普通屏幕对应关系:
名称 像素密度范围
mdpi 120dpi~160dpi
hdpi 160dpi~240dpi
xhdpi 240dpi~320dpi
xxhdpi 320dpi~480dpi
xxxhdpi 480dpi~640dpi
"HVGA mdpi"
"WVGA hdpi "
"FWVGA hdpi "
"QHD hdpi "
"720P xhdpi"
"1080P xxhdpi "
美工按那个尺寸设计的,就防止到那个文件夹下,比如美工是按1080p设计的,就将截图放到xxhdpi文件夹下;
参考资料:
1、google官方给的关于屏幕适配的文章介绍(翻译篇):
http://hukai.me/android-training-course-in-chinese/basics/supporting-devices/screens.html
2、像素密度获取参考:http://gqdy365.iteye.com/admin/blogs/1569712
3、http://blog.csdn.net/zhaokaiqiang1992/article/details/45419023
发表评论
-
Android多Activity通用Title
2015-05-20 10:12 6791先看一下效果图: 要实现在每个页面显示相同的Title, ... -
Android textview实现局部点击
2015-04-20 18:18 4613先看效果图: 实现代码,很简单的: private ... -
Android中单击空白区域隐藏键盘
2015-03-06 11:29 4715项目开发中,产品经理拿着iPhone上的效果说Android! ... -
Android ViewPager切换的N种动画
2014-09-10 17:55 49815基于上一篇《Android ViewP ... -
Android ViewPager使用技巧
2014-09-10 17:23 10702最近项目中用到ViewPage,因此对这个3.1之后新增的接口 ... -
知识梳理:Android子线程中更新UI的3种方法
2014-09-03 16:09 76386在Android项目中经常有碰到这样的问题,在子线程中完成耗时 ... -
Android ListView 滚动的N种方法
2014-07-25 16:07 8335Android 里面让ListView滚动有N种方法,这儿列举 ... -
(转载)关于分辨率,还是没搞清楚
2014-07-22 15:41 8301.drawable-(hdpi,mdpi,ldpi)的区别 ... -
Android多分辨率支持
2014-01-10 11:45 0Android官方给出的解决方案: http://develo ... -
Android播放动画后点击事件消失
2012-11-09 10:36 7207问题:为imageview添加了动画,动画播放完之后image ... -
为Android应用程序添加两个入口
2012-10-29 09:43 1705项目中有这样一个需求: 安装一个APK之后,生成两个图标,点击 ... -
Android 获取屏幕尺寸
2012-06-28 10:28 1873项目需要在service中获取屏幕分辨率,即手机的尺寸,网上搜 ... -
Android dialog 全屏
2012-02-11 17:08 19249Android中让Dialog全屏: 一、在style中定义样 ... -
android 让Activity透明起来
2011-08-26 21:55 3411让自己的Activity变成透明的:关键是设置Activity ... -
android图片缩放(指定大小)
2011-07-15 10:58 19232private Drawable zoomDrawabl ... -
用ScrollView和TableLayout实现类似于Gallery的效果
2014-07-15 09:45 3582想实现左右拖动ImageView或TextView的效果,于是 ... -
android自定义ViewGroup总结
2014-07-15 09:45 6869在稍微复杂一些的布局中就要自己定义一个ViewGroup,里面 ... -
android通知小结
2011-06-17 10:22 3080有时候要让我们发的通知不被用户清除,这就需要将通知加入正在运行 ... -
android小部件(widget)小结
2011-06-17 10:21 7294一、为widget添加点击事件 在继承自AppWidgetPr ... -
android TabHost小结
2011-06-09 11:47 22329TabHost是整个Tab的容器,包括两部分,TabWidge ...
相关推荐
修改安卓手机密度的代码
Android开发之屏幕适配values资源,直接复制到res文件夹下,引用即可实现屏幕适配
在代码中获取屏幕密度等参数的例子。这是关于在代码中获取屏幕密度等参数的例子,例子也分析了px和dp转换的方法,也就是px = dp * (dpi / 160)。而且我们需要注意的是Android对屏幕密度是使用了归化。
用于Android屏幕适配尺寸资源文件的生成
Android中屏幕密度和图片大小的关系详解 前言 Android中支持许多资源,包括图片(Bitmap),对应于bitmap的文件夹是drawable,除了drawable,还有drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、...
使用CSS3-Media-Query技术适配Android平板屏幕分辨率和屏幕密度.docx
android_px_多屏幕适配生成工具和资源android_px_多屏幕适配生成工具和资源android_px_多屏幕适配生成工具和资源android_px_多屏幕适配生成工具和资源
获取手机屏幕大小,屏幕分辨率,屏幕密度,导航栏高度,标题栏高度
Android中如何禁止屏幕休眠和锁屏 Android中如何禁止屏幕休眠和锁屏
获取android手机的屏幕宽度,屏幕高度,屏幕密度density,font density,屏幕密度DPI
编码UTF-8;我们在ZOL上可以通过“参数”查看知名设备的信息,但如果客户寄给你一个他们自己定制的平板,通过“设置”也看不到你想要的信息, ...此Demo提供了获取设备的分辨率、屏幕尺寸和屏幕像素密度(PPL)的方式。
Android常用共通工具类,包括dp与px转换,获取屏幕密度,获取versionName和versionCode,获取网络连接状态等等。
这种特性使得应用程序在运行时可以适应不同的屏幕大小和密度,以及不同的国家和语言等。资源在Android应用程序编译的过程中,也会被编译成二进制格式。这是为了压缩资源存储空间,以及加快运行时的资源解析速度。...
AppInfoManager.java获取软件信息和内存信息,其它的信息获取在InfoActivity.java
gen_dpi 根据屏幕密度生成适配的px尺寸
Android针对不同的手机屏幕大小设计图片资源与编码
该代码可以实现android的屏幕录制和摄像头录制以及通过rtmp上传到服务器
android屏幕取词简单示例 详情参见http://libaier.net/?p=128
Android 屏幕锁源码.zip源码资源下载Android 屏幕锁源码.zip源码资源下载