- 浏览: 769728 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (417)
- ASP.NET MVC (18)
- WEB基础 (24)
- 数据库 (69)
- iPhone (20)
- JQuery (3)
- Android (21)
- UML (8)
- C# (32)
- 移动技术 (19)
- 条码/RFID (6)
- MAC (8)
- VSS/SVN (6)
- 开卷有益 (4)
- 应用软件 (1)
- 软件工程 (1)
- java/Eclipse/tomcat (61)
- 英语学习 (2)
- 综合 (16)
- SharePoint (7)
- linux (42)
- Solaris/Unix (38)
- weblogic (12)
- c/c++ (42)
- 云 (1)
- sqlite (1)
- FTp (2)
- 项目管理 (2)
- webservice (1)
- apache (4)
- javascript (3)
- Spring/Struts/Mybatis/Hibernate (4)
- 航空业务 (1)
- 测试 (6)
- BPM (1)
最新评论
-
dashengkeji:
1a64f39292ebf4b4bed41d9d6b21ee7 ...
使用POI生成Excel文件,可以自动调整excel列宽等(转) -
zi_wu_xian:
PageOffice操作excel也可以设置表格的行高列宽,并 ...
使用POI生成Excel文件,可以自动调整excel列宽等(转) -
wanggang0321:
亲,我在pptx(office2007以上版本)转pdf的时候 ...
JODConverter]word转pdf心得分享(转) -
xiejanee:
楼主:你好!我想请问下 你在代码中用DOMDocument* ...
Xerces-C++学习之——查询修改XML文档 (转)
转自:http://blog.csdn.net/leilu2008/article/details/6631711
Android 支持多屏幕机制
1.Screen size 屏幕实际尺寸。
Android讲屏幕实际尺寸分为3个通用的尺寸。
2.Aspect ratio 长宽比
3.Resolution 分辨率
4.Density 密度
5.Density-independent pixel 密度无关的像素
介绍:Adnroid1.6或以上SDK,在AndroidManifest.xml中提供新的一个元素<supports-screens>用于支持多屏幕机制。
<supports-screens
android:largeScreens="true" 是否支持大屏
android:normalScreens="true" 是否支持中屏
android:smallScreens="true" 是否支持小屏
android:anyDensity="true" 是否支持多种不同密度
/>
Android提供3种方式处理屏幕自适应
一.预缩放的资源(基于尺寸和密度去寻找图片)
1.如果找到相应的尺寸和密度,则利用这些图片进行无缩放小时。
2.如果没法找到相应的尺寸,而找到密度,则认为该图片尺寸为 "medium",利用缩放这个图片显示。
3.如果都无法匹配,则使用默认图片进行缩放显示。默认图片默认标配 "medium" (160)。
二.自动缩放的像素尺寸和坐标(密度兼容)
1.如果应用程序不支持不同密度android:anyDensity="false",系统自动缩放图片尺寸和这个图片的坐标。
(代码中体现)
2.对于预缩放的资源,当android:anyDensity="false",也不生效。
3.android:anyDensity="false",只对密度兼容起作用,尺寸兼容没效果
三.兼容模式显示在大屏幕,尺寸(尺寸兼容)
1.对于你在<supports-screens>声明不支持的大屏幕,而这个屏幕尺寸是normal的话,系统使用尺寸为 ("normal")和密度为("medium)显示。
2. 对于你在<supports-screens>声明不支持的大屏幕,而这个屏幕尺寸是larger的话,系统同样使用尺寸为 ("normal")和密度为("medium)显示,不过会出现一层黑色的背景。不是居中显示。
密度独立:
系统默认应用支持DIP单位的,三个使用DIP的地方:
1.加载资源时,使用DIP实现预缩放的资源。
2.在Layout使用DIP,系统自动完成缩放。
3.在应用程序中,自动缩放一些绝对像素。
(只有在android:anyDensity="false"生效)即屏幕自适应方式二
4.像素单位都使用DIP,文本单位使用SP
最佳屏幕独立实践:
1.使用wrap_content, fill_parent 和使用dip作为像素单位in XML layout files。
2.避免使用AbsoluteLayout
3.在代码中,不要使用像素数字硬编码,而是要通过dip转换为px。
例子:
你使用手势分析器分析一个scroll手势,假如,你滚动的距离是16px。
1.在一个160dip的屏幕中,你实际移动距离 16px / 160dpi = 1/10th of an inch (or 2.5 mm)
2.在一个240dip的屏幕中,你实际移动距离 16px / 240dpi = 1/15th of an inch (or 1.7 mm)
// The gesture threshold expressed in dip
private static final float GESTURE_THRESHOLD_DIP = 16.0f;
// Convert the dips to pixels
final float scale = getContext().getResources().getDisplayMetrics().density;
mGestureThreshold = (int) (GESTURE_THRESHOLD_DIP * scale);
4.使用密度和/或尺寸特定资源(通过文件夹)
关于预缩放或者自动缩放图片或9格图
1.系统是一定对会资源包下的图片进行合理的缩放。
例如:一张240x240高密度图片,显示在中密度的屏幕上,图片大小自动变为160x160。
2.你在API中不会得到被缩放后的图片尺寸,得到还是你原来图片的尺寸。
3.如果你不想系统自动帮你缩放图片,可以建立一个res/drawable-nodpi文件夹,存放你的图片。
4.也可以通过BitmapFactory.Options 完成系统自动缩放图片或9格图(在画图时)。
5.自动缩放图片比预缩放花费更多CPU,但是用更少内存(RAM or ROM ?)
Android 支持多屏幕机制
1.Screen size 屏幕实际尺寸。
Android讲屏幕实际尺寸分为3个通用的尺寸。
2.Aspect ratio 长宽比
3.Resolution 分辨率
4.Density 密度
5.Density-independent pixel 密度无关的像素
介绍:Adnroid1.6或以上SDK,在AndroidManifest.xml中提供新的一个元素<supports-screens>用于支持多屏幕机制。
<supports-screens
android:largeScreens="true" 是否支持大屏
android:normalScreens="true" 是否支持中屏
android:smallScreens="true" 是否支持小屏
android:anyDensity="true" 是否支持多种不同密度
/>
Android提供3种方式处理屏幕自适应
一.预缩放的资源(基于尺寸和密度去寻找图片)
1.如果找到相应的尺寸和密度,则利用这些图片进行无缩放小时。
2.如果没法找到相应的尺寸,而找到密度,则认为该图片尺寸为 "medium",利用缩放这个图片显示。
3.如果都无法匹配,则使用默认图片进行缩放显示。默认图片默认标配 "medium" (160)。
二.自动缩放的像素尺寸和坐标(密度兼容)
1.如果应用程序不支持不同密度android:anyDensity="false",系统自动缩放图片尺寸和这个图片的坐标。
(代码中体现)
2.对于预缩放的资源,当android:anyDensity="false",也不生效。
3.android:anyDensity="false",只对密度兼容起作用,尺寸兼容没效果
三.兼容模式显示在大屏幕,尺寸(尺寸兼容)
1.对于你在<supports-screens>声明不支持的大屏幕,而这个屏幕尺寸是normal的话,系统使用尺寸为 ("normal")和密度为("medium)显示。
2. 对于你在<supports-screens>声明不支持的大屏幕,而这个屏幕尺寸是larger的话,系统同样使用尺寸为 ("normal")和密度为("medium)显示,不过会出现一层黑色的背景。不是居中显示。
密度独立:
系统默认应用支持DIP单位的,三个使用DIP的地方:
1.加载资源时,使用DIP实现预缩放的资源。
2.在Layout使用DIP,系统自动完成缩放。
3.在应用程序中,自动缩放一些绝对像素。
(只有在android:anyDensity="false"生效)即屏幕自适应方式二
4.像素单位都使用DIP,文本单位使用SP
最佳屏幕独立实践:
1.使用wrap_content, fill_parent 和使用dip作为像素单位in XML layout files。
2.避免使用AbsoluteLayout
3.在代码中,不要使用像素数字硬编码,而是要通过dip转换为px。
例子:
你使用手势分析器分析一个scroll手势,假如,你滚动的距离是16px。
1.在一个160dip的屏幕中,你实际移动距离 16px / 160dpi = 1/10th of an inch (or 2.5 mm)
2.在一个240dip的屏幕中,你实际移动距离 16px / 240dpi = 1/15th of an inch (or 1.7 mm)
// The gesture threshold expressed in dip
private static final float GESTURE_THRESHOLD_DIP = 16.0f;
// Convert the dips to pixels
final float scale = getContext().getResources().getDisplayMetrics().density;
mGestureThreshold = (int) (GESTURE_THRESHOLD_DIP * scale);
4.使用密度和/或尺寸特定资源(通过文件夹)
关于预缩放或者自动缩放图片或9格图
1.系统是一定对会资源包下的图片进行合理的缩放。
例如:一张240x240高密度图片,显示在中密度的屏幕上,图片大小自动变为160x160。
2.你在API中不会得到被缩放后的图片尺寸,得到还是你原来图片的尺寸。
3.如果你不想系统自动帮你缩放图片,可以建立一个res/drawable-nodpi文件夹,存放你的图片。
4.也可以通过BitmapFactory.Options 完成系统自动缩放图片或9格图(在画图时)。
5.自动缩放图片比预缩放花费更多CPU,但是用更少内存(RAM or ROM ?)
发表评论
-
Android官方提供的支持不同屏幕大小的全部方法
2014-07-16 15:09 0sdfsdf -
Apk签名(转)
2012-07-04 14:02 1624转自:http://407827531 ... -
Drawable(hdpi,ldpi,mdpi)的区别
2012-03-19 10:45 857Drawable(hdpi,ldpi,mdpi)的区别: 主 ... -
Android - API Levels-<uses-sdk android:minSdkVersion="8" />
2012-03-19 09:54 1289转自:http://www.cnblogs.com ... -
MinSdkVersion, targetSdkVersion, target API level的区别(转)
2012-03-19 09:18 1529转自:http://blog.csdn.net/c ... -
转:有关Activity的Launch mode 以及Intent的setFlags
2012-03-15 16:50 869转:有关Activity的Launch mod ... -
Android SharedPreferences
2012-02-27 10:11 932转自:http://blog.csdn.net/leilu20 ... -
android中application 关于全局变量
2012-02-27 10:06 1300转自:http://blog.csdn.net/leilu20 ... -
教你解决android软键盘挡住输入框问题!
2012-02-24 16:13 1548教你解决android软键盘挡住输入框问题! 转自:http: ... -
android中LayoutInflater的使用(转)
2012-02-20 11:15 1392转自:http://dev.10086.cn/cmdn/w ... -
Android 正则表达式(转)
2012-02-20 11:14 4213Java正则表达 ... -
Android随笔3
2012-02-17 14:51 01. android:layout_alignright只能 ... -
todo
2011-12-12 13:30 0http://bbs.51cto.com/thread-845 ... -
Eclipse同时附加javadoc和android文档(转)
2011-12-10 13:21 1498Eclipse同时附加javadoc和android文档 ... -
在Eclipse中开发Android程序,添加javadoc目录,可以详细显示API的说明(转)
2011-12-09 11:11 1149转自:http://blog.csdn.net/y ... -
Android推送(转)
2011-11-07 11:16 1537转自:http://blog.csdn.net ... -
ios与android解析(转)
2011-10-17 10:45 920http://bbs.xiaomi.com/thread-34 ... -
手持通讯安全性问题解决方案思考
2011-10-13 09:25 0<!-- [if gte mso 9]><x ... -
eclipse android环境搭建
2011-09-28 10:12 1199eclipse开发android环境搭建 1.需要下载安装的 ... -
Activity生命周期图
2011-09-27 17:03 936<!-- [if !mso]> <st ...
相关推荐
Android支持多屏幕机制即用为当前设备屏幕提供一种合适的方式来共同管理并解析应用资源。本文就介绍了4中Android屏幕自适应解决方案。 一、细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案。 该...
如果是在横竖屏UI设计方面,那么想很好地支持屏幕旋转,则建议在res中建立layout-land和layout-port两个文件夹,把横屏和竖屏的布局文件分别放入对应的layout文件夹中。 了解了这些以后,我们对andro
这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...
flex android 移动开发 ...在手机应用程序中支持屏幕键盘 在手机应用程序中嵌入字体 在手机控件中使用 HTML 文本 第 6 章: 外观设计 手机外观设计的基础知识 为手机应用程序创建外观 应用自定义手机外观 ..........
(1)针对多窗口类浏览器模式问题,指出并分析了该问题存在的原因,利用Activity的运行机制,通过Fragment栈对主要模块的Webview进行管理,实现对不同模块之间切换的控制。 (2)针对跨域数据交互问题,指出并分析了...
决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助...
本项目是一个系统工具,可以设置一个或多个我们信任的wifi热点(如家里的,公司里的),设置成功后,只要手机连着的wifi是已信任的,以后点亮屏幕都不用先解锁。(暂时只支持隐藏图形锁)工程中使用了v7包和cardview...
1. 良好的兼容性:支持Android各个版本,兼容各种屏幕尺寸和设备类型。 2. 灵活的下拉列表项布局:可根据需要自定义下拉列表项的布局和样式。 3. 强大的数据处理能力:支持从本地数据库或网络获取数据,并进行分类、...
决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助...
决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助...
4. **图片适配**:支持多种图片格式,自动根据设备屏幕尺寸和分辨率进行图片适配,保证显示效果。 5. **可二次开发定制**:项目代码结构清晰,注释详细,方便开发者进行二次开发和定制。 **适用场景**: 适用于...
前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一...我们在进行linux内核配置的时候经常会执行make menuconfig这个命令,然后屏幕上会出现以下界面
6.5.2 获取屏幕分辨率 6.5.3 剪贴板服务 6.5.4 电话服务 6.5.5 定时提醒服务 6.5.6 音频服务 6.5.7 传感器服务 6.5.8 位置服务 6.6 本章小结 第三篇 Android开发基础详解 第7章 常用控件 7.1 Button(按钮) 7.2 ...
小萝贝控机大师一款用电脑控制手机的工具,同时控制多台手机安装包仅5M,免Root,支持Android手机、平板支持WIFI连接,支持同时操作多机。 小萝贝控机大师功能介绍 手机画面同步实时镜像到电脑屏幕 用电脑操作...
运行mouse_udp_client.py并使用屏幕上的说明将鼠标事件发送到设备上运行的服务 限制 您单击的内容必须标识为辅助功能元素。 大多数基本的原生应用程序都可以工作,但更复杂的应用程序(例如谷歌地图、游戏)将无法...
15、Android支持多种语言 25 16、四种动画的设置属性 25 1、尺寸伸缩动画效果 25 2、translate 位置转移动画效果 27 3、rotate 旋转动画效果 27 4、透明度控制动画效果 alpha 28 17、横竖屏状态获取 28 18、获取手指...
Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接 口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计 了Android的Java,以便能提高效率和减少资源占用,...
此后项目经历了大型的重构,以适应代码复用和支持屏幕旋转的需求。在此之后,我得以实现了一个较为美观的个人资料页,并且对应用的许多细节进行了完善。 目前实现了原“豆瓣广播”应用的大部分功能。剩下的工作也...