Android屏幕适配初探
2015-11-23 14:02
246 查看
Android屏幕适配初探
Android设计指南非官方简体中文版
参考文献http://adchs.github.io/index.html对android屏幕分辨率,密度,DPI的一个基本了解
分辨率:在屏幕上显示的物理像素总和。需要注意的是尽管分辨率通常用宽x高表示,但分辨率并不意味着具体的屏幕长宽比。例如,800X600就表示宽800像素,高600像素。DPI:dpi是Dots Per Inch的缩写, 每英寸点数,即每英寸包含像素个数。比如320X480分辨率的手机,宽2英寸,高3英寸, 每英寸包含的像素点的数量为320/2=160dpi(横向)或480/3=160dpi(纵向),160就是这部手机的dpi,横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。
密度(density):density和dpi的关系为 density = dpi/160,通过density和dpi之间的关系我们只要得到其中一个值就能算出另一个的值。
我们新建一个Android项目后可以看到很多drawable文件夹,分别对应不同的dpi
drawable-ldpi (dpi=120, density=0.75)
drawable-mdpi (dpi=120~160, density=1)
drawable-hdpi (dpi=160~240, density=1.5)
drawable-xhdpi (dpi=240~320, density=2)
drawable-xxhdpi (dpi=320~480, density=3)
drawable-xxxhdpi (dpi=480~640, density=4)
获取屏幕密度,尺寸,DPI
方法一:DisplayMetrics outMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(outMetrics); float density = outMetrics.density;//屏幕密度(0.75/1.0/1.5) int densityDpi = outMetrics.densityDpi;//屏幕密度DPI(120/160/240) int widthPixels = outMetrics.widthPixels;// 屏幕宽度(像素) int heightPixels = outMetrics.heightPixels;// 屏幕高度(像素)
方法二:
DisplayMetrics outMetrics = getResources().getDisplayMetrics(); float density = outMetrics.density;// 屏幕密度(0.75 / 1.0 / 1.5) int densityDpi = outMetrics.densityDpi;//屏幕密度DPI(120/160/240) int widthPixels = outMetrics.widthPixels;// 屏幕宽度(像素) int heightPixels = outMetrics.heightPixels;// 屏幕高度(像素)
同时在AndroidManifest.xml中加入如下代码,使程序支持了多种分辨率,从而得到正确的分辨率
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
频道分辨率专业术语
屏幕分辨率的一些专业术语
VGA:Video Graphics Array,即:显示绘图矩阵,相当于640×480 像素;HVGA:Half-size VGA,即:VGA的一半,分辨率为480×320,像三星盖世AceS5830就是使用这分辨率;
QVGA:Quarter VGA,即:VGA的四分之一,分辨率为320×240,一般用于小屏手机 像三星盖世Mini S5570就是使用这分辨率;
WQVGA:Wide Quarter VGA,即:扩大的QVGA,分辨率比QVGA高,比VGA低,一般是:400×240,480×272;
WVGA:Wide Video Graphics Array,即:扩大的VGA,分辨率为800×480像素,像三星i9000就是使用这分辨率;
FWVGA:Full Wide VGA ,数码产品屏幕材质的一种,VGA的另一种形式,比WVGA分辨率高,别名 : Full Wide VGA, ,其分辨 率为854×480象素(16:9)。
以下是一些常见的分辨率
标屏 | 分辨率 | 宽屏 | 宽屏 |
---|---|---|---|
QVGA | 320×240 | WQVGA | 400×240 |
VGA | 640×480 | WVGA | 800×480 |
SVGA | 800×600 | WSVGA | 1024×600 |
XGA | 1024×768 | WXGA | 1280×768/1280×800/1280*960 |
SXGA | 1280×1024 | WXGA+ | 1440×900 |
SXGA+ | 1400×1050 | WSXGA+ | 1680×1050 |
UXGA | 1600×1200 | WUXGA | 1920×1200 |
QXGA | 2048×1536 | WQXGA | 2560×1536 |
参考文章
Android 获取屏幕尺寸与密度Android 屏幕适配
Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 详解
相关文章推荐
- Android Studio 1.5 RC1搭建NDK开发环境
- Android AVD 出现No content provider found for permission revoke可能的一种解决方案
- Android,activity托管fragment的方式
- Android开发进阶系列(一) 序言
- Android Handler
- android进程和线程使用总结
- Android Resource Types之Style简介
- Android智能指针
- android获取屏幕宽高与获取控件宽高 方法总结
- Android性能优化之使用线程池处理异步任务
- android5.0 物理键盘与软键盘同时使用修改
- android DatePicker、TimePicker
- Android组件之BroadcastReceiver详解
- Android - 文件读写操作 总结
- android --拍照,从相册获取图片,兼容高版本,兼容小米手机
- 从实战项目学习Android(二)Textview的一行显示、背景拉伸
- android -- 加载gif 防止oom
- Android Studio生成和引用aar
- Android编程实现自定义进度条颜色的方法
- 详解 Android Activity 生命周期