- 浏览: 1321114 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 6828先看一下效果图: 要实现在每个页面显示相同的Title, ... -
Android textview实现局部点击
2015-04-20 18:18 4650先看效果图: 实现代码,很简单的: private ... -
Android中单击空白区域隐藏键盘
2015-03-06 11:29 4748项目开发中,产品经理拿着iPhone上的效果说Android! ... -
Android ViewPager切换的N种动画
2014-09-10 17:55 49886基于上一篇《Android ViewP ... -
Android ViewPager使用技巧
2014-09-10 17:23 10753最近项目中用到ViewPage,因此对这个3.1之后新增的接口 ... -
知识梳理:Android子线程中更新UI的3种方法
2014-09-03 16:09 76464在Android项目中经常有碰到这样的问题,在子线程中完成耗时 ... -
Android ListView 滚动的N种方法
2014-07-25 16:07 8374Android 里面让ListView滚动有N种方法,这儿列举 ... -
(转载)关于分辨率,还是没搞清楚
2014-07-22 15:41 8701.drawable-(hdpi,mdpi,ldpi)的区别 ... -
Android多分辨率支持
2014-01-10 11:45 0Android官方给出的解决方案: http://develo ... -
Android播放动画后点击事件消失
2012-11-09 10:36 7254问题:为imageview添加了动画,动画播放完之后image ... -
为Android应用程序添加两个入口
2012-10-29 09:43 1741项目中有这样一个需求: 安装一个APK之后,生成两个图标,点击 ... -
Android 获取屏幕尺寸
2012-06-28 10:28 1905项目需要在service中获取屏幕分辨率,即手机的尺寸,网上搜 ... -
Android dialog 全屏
2012-02-11 17:08 19277Android中让Dialog全屏: 一、在style中定义样 ... -
android 让Activity透明起来
2011-08-26 21:55 3481让自己的Activity变成透明的:关键是设置Activity ... -
android图片缩放(指定大小)
2011-07-15 10:58 19263private Drawable zoomDrawabl ... -
用ScrollView和TableLayout实现类似于Gallery的效果
2014-07-15 09:45 3632想实现左右拖动ImageView或TextView的效果,于是 ... -
android自定义ViewGroup总结
2014-07-15 09:45 6902在稍微复杂一些的布局中就要自己定义一个ViewGroup,里面 ... -
android通知小结
2011-06-17 10:22 3109有时候要让我们发的通知不被用户清除,这就需要将通知加入正在运行 ... -
android小部件(widget)小结
2011-06-17 10:21 7339一、为widget添加点击事件 在继承自AppWidgetPr ... -
android TabHost小结
2011-06-09 11:47 22365TabHost是整个Tab的容器,包括两部分,TabWidge ...
相关推荐
4. 运行应用,系统会根据设备的屏幕密度和尺寸自动选择相应的资源。 四、资源适配的优点 1. 提高用户体验:用户在不同设备上都能获得一致的视觉效果和操作体验。 2. 减少开发工作量:无需为每个设备单独编写代码...
这里主要涉及几个关键概念:屏幕尺寸、屏幕密度、分辨率、DP(密度无关像素)、屏幕长宽比以及Android资源文件的组织。 1. **屏幕尺寸**:根据屏幕的对角线长度,Android将屏幕尺寸分为small、normal、large和extra...
2. **资源文件的灵活使用**:根据屏幕密度的不同,为应用提供多个版本的图片和布局资源。例如,为mdpi、hdpi、xhdpi等不同密度的屏幕准备不同分辨率的图标和图片。 3. **适配声明**:在应用的`manifest`文件中添加`...
Android中屏幕密度和图片大小的关系详解 前言 Android中支持许多资源,包括图片(Bitmap),对应于bitmap的文件夹是drawable,除了drawable,还有drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、...
dp用于长度和宽度,sp用于字体大小,它们会根据设备的屏幕密度自动调整,确保在不同屏幕上的视觉效果一致。 2. **资源目录的多密度支持** Android系统允许开发者在res目录下创建不同的子目录,如`values-mdpi`、`...
1. **理解Android屏幕尺寸和密度** Android屏幕分为小、正常、大、超大四种尺寸,以及低、中、高、超高四种密度。每个设备都有一个具体的像素密度(dpi)和逻辑分辨率。开发者需要考虑这些因素来创建自适应的布局。...
以下是一些关键的Android屏幕适配策略和技术: 1. **使用比例和相对布局(Relative Layout)**: - 不直接使用绝对像素值,而是使用比例(dp/dip)来定义控件大小,这样在不同密度的屏幕上会自动调整。 - 相对...
资源限定符是Android系统用来区分不同设备配置的标识,比如屏幕尺寸(small, medium, large, xlarge)、屏幕密度(ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi)、语言和地区(en, zh-rCN, zh-rTW)等。当系统需要...
8. **使用Drawable的size属性**:对于图标和其他图像资源,可以通过设置size属性使其自适应屏幕密度。 9. **使用Nine-Patch图像**:九宫格图像可以拉伸指定部分,保持图像的原始比例,适合制作按钮、背景等元素。 ...
四、屏幕密度与分辨率的关系 Android设备有不同的屏幕密度,如低密度(ldpi)、中密度(mdpi)、高密度(hdpi)和超高清密度(xxhdpi)等。屏幕密度影响了单位像素的大小,所以相同物理分辨率的屏幕在不同密度的...
2. **资源目录适配**:Android支持在不同的资源目录下放置针对特定屏幕尺寸和密度的资源文件,如`res/layout-sw320dp`用于小屏幕,`res/drawable-hdpi`用于高密度屏幕等。根据设备的实际属性,系统会自动选择合适的...
如果设置为“false”,则系统会自动缩放资源以适应不同的屏幕密度。 例如,如果在hdpi、mdpi和ldpi文件夹下有相同的资源,且设置了`android:anyDensity="false"`,那么在低密度(240×320像素)的手机上,Android...
DP不受屏幕密度影响,而SP则考虑了字体缩放。此外,Android支持多套资源目录(如layout-mdpi, layout-hdpi等),开发者可以为不同屏幕尺寸和密度提供定制的布局。 2. **尺寸和密度适配** - **布局权重(layout_...
这些文件夹中的图片资源将根据当前设备的屏幕密度被自动选用,从而实现图片的自适应。 #### 二、Android提供的三种基本自适应方式 Android提供了三种基本的方式来处理屏幕自适应问题: 1. **预缩放的资源**:即...
在Android开发中,屏幕适配是一项至关重要的任务,因为Android设备有着各种各样的屏幕尺寸和分辨率,从手机到平板,甚至是智能电视。"android自适应屏幕demo" 是一个...不断实践和学习,是掌握Android屏幕适配的关键。
首先,`Android屏幕适配`是指根据不同的屏幕尺寸和密度,调整UI元素的大小和布局,使其在所有设备上看起来自然且易用。Android系统通过Density Independent Pixels (DP)来帮助开发者实现这一目标,DP是一种虚拟像素...
"android屏幕适配demo.zip" 提供了一个示例项目,帮助开发者理解并实现跨设备的屏幕适配策略。在这个Demo中,我们将探讨以下几个关键知识点: 1. **像素密度(Density)**: Android设备的屏幕有不同的像素密度,如...
本项目"Android代码-一种非常好用的Android屏幕适配"提供了一种有效的解决方案,帮助开发者解决不同屏幕尺寸和像素密度下的显示问题。项目名称为"ScreenAdaptation",表明它专注于屏幕适应性策略,旨在提升应用在...
2. **资源文件分配置**:针对不同的屏幕密度和尺寸创建特定的资源文件夹,如ldpi、mdpi、hdpi等。 3. **灵活的UI设计**:采用响应式设计原则,确保界面元素能够根据屏幕尺寸自动调整大小和位置。 4. **测试与调试**...