android 屏幕适配

1.屏幕分辨率与实际对应的分辨率不一致

今天遇到一个奇葩的事情,在适配华为MediaPad M1 8.0的时候,手机的实际分辨率为1280*800,但是在android自动适配的分辨率却是1080*720,这让我很受伤,分别为values-1080*720 和drawable-hdpi-1080*720。

2.关于V11,V12适配的问题。

在res文件夹下面创建一个drawable-v11,如果你用API 11+的设备, 则会适配这个文件夹里面的文件。

3.关于相同的图片分别放在高分辨率和低分辨率后在手机上的显示效果,低分辨率感觉会被拉伸,高分辨率感觉会压缩。

4.在适配MX3(分辨率:1080x1800)的时候,用dimension做适配,values-1024x600,values-1280x768,values-1280x800,values-1800x1080,values-1920x1200,values-320x240,values-400x240,

values-480x320,values-800x480,values-854x480,values-894x540,values-960x540,values-960x640,values-hdpi-1080x720,values-hdpi-1280x720,values-mdpi-1080x720,

values-mdpi-1280x720,values-xhdpi-1080x720,values-xhdpi-1280x720。把所有的都过了一遍,最后找到的竟然是最后一个最大的values-xhdpi-1280x720。然后把values-1800x1080 改成 

values-xhdpi-1800x1080 就适配到了这个。

 ----------------------------------------------------分割线---------------2015-01-29------------------------------------------------------------------------------

适配经验有是在工作中慢慢积累来的,上面的说明作为以前在适配方面所经历的一个过程。就当做是一个记录。

1 int screenWidth = getWindowManager().getDefaultDisplay().getWidth();//真实分辨率 宽
2 int screenHeight = getWindowManager().getDefaultDisplay().getHeight();//真实分辨率 高
3          
4 DisplayMetrics dm = new DisplayMetrics();  
5 dm = getResources().getDisplayMetrics();  
6 int densityDPI = dm.densityDpi;     // 屏幕密度(每寸像素:120(ldpi)/160(mdpi)/213(tvdpi)/240(hdpi)/320(xhdpi))  
7 Toast.makeText(this, "真实分辨率:"+screenWidth+"*"+screenHeight+"  每英寸:"+densityDPI, Toast.LENGTH_LONG).show();

首先看这段代码,是要在Activity中运行的,这样会拿到该手机的真实分辨率。比如: MediaPad X1 7.0,厂商给出的分辨率是(1200*1920),但是用上面的代码得到的真实的分辨率是(1200x1824) 。

密度是:320.所以用dimens做适配的文件是values-land-xhdpi-1824x1200。

此部分适配仅做为参考,不具有权威性。

-------------------------------------------分割线---------------2015-01-29------------------------------------------------------------------------------

 

你可能感兴趣的:(android)