标签:
Android屏幕适配主要有以下五种方法:
1.图片适配(不同像素密度的手机,加载不同资源文件下的图片)
ldpi:320*240
mdpi:480*320
hdpi:800*480
xhdpi:1280*720
xxhdpi:1920*1080
如果当前像素密度的手机上面没有图片,就回去加载高一个级别的图片
像素密度:当前一个英寸上分布的像素点dpi
像素密度的计算:像素密度 = 分辨率的对角线 / 英寸数
ldpi | 1dp=0.75px | 160dp=120px | 240px一半 | 320*240 |
mdpi | 1dp=1px | 160dp=160px | 320px一半 | 480*320 |
hdpi | 1dp=1.5px | 160dp=240px | 480px一半 | 800*480 |
xhdpi | 1dp=2px | 160dp=320px | 640px一半 | 1280*720 |
xxhdpi | 1dp=3px | 160dp=480px | 960px一半 | 1920*1080 |
2.dimens.xml分配
例如:对xhdpi进行个性化定制:
1.创建“values-1280x752”文件夹
2.在dimens.xml文件中定义
3.布局适配(layout适配,不同像素密度的手机,加载不同资源文件夹下的布局)
例如:对xhdpi进行个性化定制:
1.创建“layout-1280x752”文件夹
2.在布局文件中定义
4.Java代码适配(控件的宽高,就是根据屏幕 宽高的百分比去设置)
WindowManager wm = getWindowManager(); DisplayMetrics outMetrics = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(outMetrics); int width = outMetrics.widthPixels; int height = outMetrics.heightPixels; // 加0.5的目的就是四舍五入的操作 LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams((int) (width * 0.5 + 0.5), (int) (height * 0.5 + 0.5)); TextView tv = (TextView) findViewById(R.id.tv); tv.setLayoutParams(layoutParams);
5.权重分配(weight)
标签:
原文地址:http://www.cnblogs.com/FlySheep/p/4580167.html