Android屏幕适配初探
来源:互联网 发布:上海知柚公司图片 编辑:程序博客网 时间:2024/05/22 15:50
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)。
以下是一些常见的分辨率
参考文章
Android 获取屏幕尺寸与密度
Android 屏幕适配
Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 详解
- Android屏幕适配初探
- 屏幕适配初探
- cocos2d-x-3.3-014-屏幕适配初探
- 【Android】屏幕适配
- android屏幕适配
- android屏幕适配
- android 屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android屏幕适配
- android 屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android 屏幕适配
- android屏幕适配
- Android屏幕适配
- Android屏幕适配
- Oracle中CHAR、VARCHAR的区别
- 历史上的今天api调用文档
- MFC使用duilib的几种方式
- 区间覆盖问题
- 常用Oracle分析函数详解
- Android屏幕适配初探
- mysqladmin: connect to server at 'localhost' failed;错误解决方法
- jar命令成功完成 java -jar 命令却提示“没有主清单属性”!
- Oracle ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝
- iOS关于Xcode上的Other linker flags
- Mac 环境下配置opencv(Eclipse)
- AndroidManifest.xml权限设置
- 红黑树
- 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)