您的位置:首页 > 移动开发 > Android开发

Android屏幕适配

2016-03-17 10:42 555 查看
一:Bitmap的加载以及颜色意义:

加载进内存图片大小:图片像素值*每个像素的大小

16、256:表示的二进制(在二进制中4位最大值16 所以16色图占4 以为是8 所以是1/2位)(一位是8个二进制:其他的是计算所占的位数)

单色图:1个像素 表示1/8位

16色图1个像素 表示1/2位

256色图1个像素 表示1位

24位色图1个像素 表示3位(24位是3个8:所以是3位:一个是一个8位:一个8位可以用2位二进制表示:所以是#ff3300)

实例:在三级缓存中计算加载进内存中图片的大小方法:

LruCache的原理:它内部维护了一个LinkedHashMap和maxSize,并且提供了put和get图片的方法;每次put图片的时候,会计算当前缓存中所有图片的总大小,跟maxSize进行比较,如果大于maxSize,就将最早添加的图片删除,否则添加进来.

private LruCache

屏幕适配

注:320*480 480*800 720*1280 这些的单位都是px::::::;px就是像素:1px=1个像素点。

屏幕尺寸:指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米。比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等

屏幕分辨率:指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素*横向像素,如1960*1080。

1、图片适配

图片的查找顺序从大到小:ldip 、drawable 、mdpi 、 hdpi 、xhdpi

一般图片查找:找自己文件夹,再往大的找,再往小的找

ldip 、mdpi 、drawable 、 hdpi 、xhdpi

注意:mdpi手机,先找自己,再找drawable,再往大的找

主流分辨率:480*800 1280*720,大图、高清图,都放一张,小图片就在480*800文件夹下放一套


2、尺寸适配

px : 像素:

dp/dip : 密度,与像素无关

px = dp * 密度比dpi(系统方法获取也可以计算)

dpi : 开方(宽度像素平方+高度像素平方)/屏幕尺寸

320*480 : 102400 + 230400
576 / 3.2
180

320*480
4000
180dpi 做为基准线,1px = 1dp * 1

mdpi : 160px = 160dp * 1
ldpi : 120px = 160dp * 0.75
hdpi : 240px = 160dp * 1.5
xhdpi : 360px = 180dp * 2


所以在xml布局代码中写dp:可以有一个有效的在不同手机上的大小问题:缩放

根据分辨率创建相应values文件夹,比如 values-1280x720 (大值在前)

dimens xml文件 <dimen name="harfWidth">160dp</dimen>


3、布局适配

根据分辨率创建layout文件夹:比如layout-1280x720


4、代码适配

Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();

tv1.setLayoutParams(new LayoutParams((int)(width*0.25), (int)(height*0.1)));
tv2.setLayoutParams(new LayoutParams((int)(width*0.5), (int)(height*0.1)));
tv3.setLayoutParams(new LayoutParams((int)(width*0.75), (int)(height*0.1)));
tv4.setLayoutParams(new LayoutParams((int)(width*1), (int)(height*0.1)));


5、权重适配(按比例非配屏幕尺寸)

android:weightSum="4"
实例:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息