android 屏幕适配
来源:互联网 发布:minecraft服务器优化 编辑:程序博客网 时间:2024/06/03 16:47
屏幕大小 :物理屏幕的大小,看屏幕的对角线。
分辨率 :实际上是像素的总和。1280*720
dpi :密度。(每英寸所展示的像素)
查看Android设备分辨率趋势: http://www.umindex.com/devices/android_resolutions 友盟
查看Android API:
hdpi :480*800 ~240dpi
ldpi :320*240 ~120dpi
mdpi : 320*480 ~160dpi (参照物)
xhdpi: 1280*720 ~320dpi
缩放比例
l :m :h :x
3 :4 : 6 :8
mdpi 目录下有一张48*48像素的图片
48 / 4 = 12
ldpi 目录下图片的大小
12 * 3 = 36 即 36 x 36
hdpi 目录下图片的大小
12 * 6 = 72 即 72 x 72
ldpi 目录下图片的大小
12 * 8 = 96 即 96 x 96
一般是按照hdpi 大小进行切图 : 480*800
为什么将480 x 800 图片放在hdip 目录下
因为根据勾股定理(例如:4.0寸屏幕)
800^2 + 480^2 = 4^2
即:5x^2 + 3x^2 = 16
x = 0.6860
宽 3x = 2.058
高 5x = 3.43
每英寸有多少像素 480/宽 即 480/2.058 = 233 800/3.43 = 233 取相近值 240dpi
图片的适配:
1.可以在不同目录下放置不同尺寸的图片,即切3~5套图,一般不推荐使用(造成APP应用非常大)。
2.一般使用一套图片,放置在hdpi 目录下,(启动图则需要分别切不同尺寸的图)。
android 默认根据屏幕的大小去加载对应目录下的图片,如果没有,则去查找比它高一级目录下图片图片,如果都没有,则去加载低一级目录下的图片。
dimens.xml : 即在不同的屏幕尺寸下新建不同文件。如下:
注意:新建 values-1280x720 文件时,高在前,宽在后。
布局适配:根据屏幕尺寸的不同新建对应尺寸布局目录文件:如下
代码适配:
获取屏幕的宽和高:
<span style="white-space:pre"></span>DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int screenWidth = displayMetrics.widthPixels; int screenHeight = displayMetrics.heightPixels;
// 设置按钮宽度100%, 高度为10% ; LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( <span style="white-space:pre"></span>LayoutParams.MATCH_PARENT, <span style="white-space:pre"></span>(int)(screenHeight * 0.1f + 0.5f)); // 加上0.5f 提交精度 btn.setLayoutParames(params);
- 【Android】屏幕适配
- android屏幕适配
- android屏幕适配
- android 屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android屏幕适配
- android 屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android 屏幕适配
- android屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android 屏幕适配
- android屏幕适配
- Android屏幕适配
- Eclipse快捷键大全(转)
- 数组中只出现一次的数字
- HTML5 WebSocket 之 HelloWorld
- poj 1576 A/B(扩展欧几里得算法)
- ruby元编程——方法
- android 屏幕适配
- JQuery的$().each和$.each
- SHELL read参数
- JSP动作元素
- android中直接退出整个应用的方法
- ruby常用gem整理
- Android MP3播放器MediaPlayer
- 模态对话框的父窗口设置
- rails常见命令