在 android 中分为 small, normal, large 3 个大小的屏幕, density 分为 240,160, 120 3 个层次。分辨率有 1024*600 , 320*480 , 480*800 等等。
什么是分辨率:
是整个屏是多少点, 比如 800x480 ,它是软件的显示单位。
什么是 density :
density 表示每英寸有多少个显示点 ( 逻辑值 ) ,它的单位是 dpi : dot per inch ,通常屏幕大时, density 就大,屏幕小时, density 就小。
如表 1 android 如何区分屏幕的大小:
|
Low density (120), ldpi
|
Medium density (160), mdpi
|
High density (240), hdpi
|
Small screen |
- QVGA (240x320), 2.6"-3.0" diagonal
|
|
|
Normal screen |
- WQVGA (240x400), 3.2"-3.5" diagonal
- FWQVGA (240x432), 3.5"-3.8" diagonal
|
- HVGA (320x480), 3.0"-3.5" diagonal
|
- WVGA (480x800), 3.3"-4.0" diagonal
- FWVGA (480x854), 3.5"-4.0" diagonal
|
Large screen |
|
- WVGA (480x800), 4.8"-5.5" diagonal
- FWVGA (480x854), 5.0"-5.8" diagonal
|
|
(表 1 )
android 如何支持多屏幕 :
不管对大屏幕和中等屏幕来说如果 android:anyDensity="false" ,android:normalScreens (或 largescreen ) ="false" ,Android 都会把320*480 160(density) 作为基准屏幕绘画 , 假如我们面对 1024*600 ,240(density) 且 android:anyDensity="false",android: largescreen=”ture”, 那么为了显示 160density 的效果,分辨率必须降低 , 降低的比例为 240/160=1.5 即 683*400 160(density) ( 由上面分辨率和 density 的定义可以知道 ) 。
当 android:anyDensity="false",android:largescreen=”false” 时 , 会画出 320*480 , 160(density) 的图像出来,因为 320*480 160(density) 不会填满整个屏幕,所以多出的地方会被填以黑色。至于比例是多少 我个人认为在 1024*600 240 上长和宽为 1024/240=4.2 和 600/240 =2.5 ,而 320*480 160(density) 上长和宽为 480/160=3 和 320/160=2 ;很明显没有填满。
当 android:anyDensity="true" android , largescreen=”false” 时,很明显会由 320*480 , 160(density) 的画面上 *1.5 变成 480*720 , 240(density) 的画面。
当屏幕为 normalScreens 时,且 normalScreens=”false” 则屏幕不变。而屏幕的分辨率只是和 density 相关 ( 因为基准屏幕就是 normalscreens) 。即分辨率的比例为 240/160 或 160/160 (具体看当前屏幕的 density )。
当屏幕为 smallscreen 时, android:smallScreens 和 android:anyDensity 的数值设置将不引起屏幕的变化
分享到:
相关推荐
Android多屏幕支持Demo
实现Android屏幕多点触摸测试的实现功能,测试屏幕是否支持多点触摸
Android支持多屏幕机制即用为当前设备屏幕提供一种合适的方式来共同管理并解析应用资源。本文就介绍了4中Android屏幕自适应解决方案。 一、细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案。 该...
androidN多屏幕支持例子
android触摸测试,支持多指同时划动,主要用于安卓系统下对触摸驱动的测试,代码中也加了多指坐标点的打印,可以帮助排查触摸问题。当然安卓的开发者选项中也有指针的显示界面,但自己写的代码可以灵活增加一些日志...
Android屏幕大小和精度介绍包括:多分辨率支持,术语和概念,支持的屏幕分辨率范围
Android手机屏幕RTMP推流工具是一款可以将安卓手机屏幕上的任何内容推送到任意一款rtmp服务器上的工具,不仅可以分享手机屏幕内容,还可以分享手机上正在播放的视频、正在捕获的相机内容、其它APP正在播放的视频等...
Android屏幕录制代码,支持音频录制!可以直接运行,Android屏幕录制。
该Demo实现了,Android环境下的工控机连接多块显示屏之后的分屏显示。
AutoLayout-Android, 支持多个屏幕的简单方法 面向Android的自动布局支持多个屏幕的简单方法。自动调整大小:每次使用屏幕尺寸时,写入。。自定义自适应策略。支持的纵横比。这里项目是来自 hongyangandroid/android...
Android autolayout 屏幕适配,测试工程中含有Fragement,listview,gridview,万能适配
编码UTF-8;我们在ZOL上可以通过“参数”查看知名设备的信息,但如果客户寄给你一个他们自己定制的平板,通过“设置”也看不到你想要的信息, ...此Demo提供了获取设备的分辨率、屏幕尺寸和屏幕像素密度(PPL)的方式。
支持android4.2 顺时针旋转屏幕,需要在应用程序里旋转,这个只是一个库文件。
讲述Android多屏幕适配策略代码,详细列举了支持多屏幕适配的例子。
Android视频播放器(支持横竖屏切换)
应用于mini2440上的Android 支持Sony X35屏幕的方法,如果有需要还可以下载系统驱动
根据重力感应旋转屏幕支持4个方向旋转.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
在介绍之前,我们需要先了解默认情况下android屏幕旋转的机制: 默认情况下,当用户手机的重力感应器打开后,旋转屏幕方向,会导致当前activity发生onDestroy-> onCreate,这样会重新构造当前activity和界面布局,...
两个android设备连接同一wifi,分别安装两个apk,实现将一个设备的屏幕投射给另一个android设备,视频码率清晰度可配置。
关于Android屏幕适配的概念,屏幕自适应,如何支持多屏幕,多屏幕测试及一些编码建议