[置顶] 关于Android屏幕适配的问题
2016-08-15 20:49
417 查看
Android由于屏幕设备的种类多种多样,不像Ios那边只需要适配几种型号的机器即可。
对于屏幕的适配,特别是针对于既有ios、又需要有Android的移动应用开发来说,适配更是存在着问题。
在此,可以利用一种简单的解决方案来简化问题,达到pad和phone手机的简单适配的效果。
可根据 DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕宽度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)利用ration = width/height
来判断是否为4:3的pad设备,还是16:9或者其他的设备(目前市场上大多数主流设备都是这样,pad趋近于4:3,而phone趋近于16:9,当然也有魅族的16:10的)
然后可以根据ration作为判断的条件进行pad和phone的适配。
既然只固定的区分为两类,那么只需要提供两套资源。这两套资源如何能够适当的展示在不同屏幕上方呢?
答案是:按比例缩放。根据提供的相应资源的大小,与所用设备的大小计算出X、Y的缩放比。ScaleX,ScaleY.计算出应该在设备上显示的资源的大小width、height,然后利用XX.LayoutParams xx = new XX .LayoutParams(width,height),进行资源的缩放。
对于屏幕的适配,特别是针对于既有ios、又需要有Android的移动应用开发来说,适配更是存在着问题。
在此,可以利用一种简单的解决方案来简化问题,达到pad和phone手机的简单适配的效果。
可根据 DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕宽度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)利用ration = width/height
来判断是否为4:3的pad设备,还是16:9或者其他的设备(目前市场上大多数主流设备都是这样,pad趋近于4:3,而phone趋近于16:9,当然也有魅族的16:10的)
然后可以根据ration作为判断的条件进行pad和phone的适配。
既然只固定的区分为两类,那么只需要提供两套资源。这两套资源如何能够适当的展示在不同屏幕上方呢?
答案是:按比例缩放。根据提供的相应资源的大小,与所用设备的大小计算出X、Y的缩放比。ScaleX,ScaleY.计算出应该在设备上显示的资源的大小width、height,然后利用XX.LayoutParams xx = new XX .LayoutParams(width,height),进行资源的缩放。
相关文章推荐
- 关于Android 奇葩分辨率相同屏幕密度下适配问题若干
- android之关于屏幕适配问题
- 关于android屏幕适配的问题
- 关于android屏幕适配问题
- 关于android屏幕适配的问题(drawable-xxxxxxxx,dp,sp,px等等),偶尔看到了android源码,关于dpi的区分的值
- 关于android屏幕适配的问题(drawable-xxxxxxxx,dp,sp,px等等),偶尔看到了android源代码,关于dpi的区分的值
- 关于android分辨率兼容(屏幕适配)问题
- 关于Android中的屏幕适配问题
- 关于Android设备下的屏幕适配问题
- 【重头学习Android】关于UI切图和屏幕适配问题
- 关于android分辨率兼容(屏幕适配)问题
- Android关于屏幕适配问题
- AndroidPad的适配关于屏幕旋转方向问题详解
- android 屏幕适配问题
- android 屏幕适配问题
- android 屏幕适配问题
- android 屏幕适配问题
- 关于Android的多种屏幕适配
- Android图片与屏幕适配问题
- android屏幕适配问题