我们做开的时候,通常会遇到以下分辨率
通常的分辨问题,其实Google工程师已经帮我们解决了。因为在android下我们有dip,和sp两个单位。这不同于一般的像素点。而是根据
不同分辨率进行比例适配后的单位。sp也是经过适配后的单位。所以只要用这两个单位,就几乎不存在适配问题。使用dp和sp,系统
会根据屏幕密度的变化自动进行转换。 所以通常xml配置的控件不存在适配问题。
但有些情况下, 我们需要在代码里面动态地添加控件,这时控件的大小也只能通过代码来设置,而通过代码设备只能设置其像素大小。
当这个用代码设置的控件就存在适配问题。在小分辨率下显得特别大,在大分辨率下显得特别小。于是就引出了下面的解决方案。下面
是一个工具类:
public class DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
在使用的时候,只要将像素值通过这个工具类转换一下就行了。
例如,我想把iv放在linearLayout的30dip的位置,就需要将30dip转换成pix。
可以这样使用: linearLayout.addView(iv,DestinyUtil.dip2px(getApplicationContext(),30,30);
这样,在不同的分辨率下,显示的都是30dip,至于是多少个pix,鬼才去管它呢,让它屎去吧,哈哈。
适配问题,就这样解决了!
分享到:
相关推荐
本演讲将从应用开发的角度,讨论在Android应用程序开发中,面对众多 Android 设备可能遇到的适配问题及解决方案,对众多的思想进行归纳总结,对一些案例进行剖析,并探讨在寻找最优解决方案过程中,应该注意和规避的...
android机顶盒屏幕适配demo,能适应各种分辨率的设备。android屏幕适配demo,能适应各种分辨率的设备。
根据android设备的多样性,根据android编程的特性,特意开发了一款工具,根据不同屏幕的尺寸,生成对应的dimens尺寸文件,有效的解决了屏幕适配问题。
安卓热点话题总结性剖析:《Android在多屏幕、多设备上的适配》 | Android DevCamp 话题简介:对于安卓多屏幕和多设备适配问题,早在2010年的Google IO大会,就有专门探讨过。这些年来,对于这个普遍存在的问题,...
根据android设备的多样性,根据android编程的特性,特意开发了一款工具,根据不同屏幕的尺寸,生成对应的dimens尺寸文件,有效的解决了屏幕适配问题.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分...
获取设备屏幕属性,便于进行屏幕适配
本文详细介绍android屏幕介绍分析,让你更深入的了解不同图片图像等在不同的屏幕设备上的适配问题
android屏幕适配,支持android40多种不通分辨率的设备
编码UTF-8;我们在ZOL上可以通过“参数”查看知名设备的信息,但如果客户寄给你一个他们自己定制的平板,通过“设置”也看不到你想要的信息, ...此Demo提供了获取设备的分辨率、屏幕尺寸和屏幕像素密度(PPL)的方式。
网上关于屏幕适配的文章已经铺天盖地了,为什么我还要讲?因为网上现在基本都是使用 屏幕分辨率限定符 进行适配,即每种屏幕分辨率的设备需要定义一套 dimens.xml 文件。由于不同分辨率的设备太多了,而且有些设备...
在前几篇文章,我们大致了解了Android开发的一些常规模式和方法,在这个过程中其实我们已经接触到了屏幕适配方面的相关知识,但是并没有深入地讲解这些概念。这篇文章我们将分三个方面进行详细讲解。在Android中,...
由于Android设备的屏幕碎片化比较严重,所以在做一些屏幕适配上的问题比较棘手。于是,本人写了这样一个小程序,用于解决屏幕碎片的问题。主要是利用了这样一个思路:我们可以把每一个手机的横向分成320份,每一个...
设置基准宽高的px,dp值,获取当前设备的宽高的px,dp值, 例如 x轴的值,double newvalue =(当前宽度/基准宽度)*具体的值,如此就可以得到适合屏幕比例的值,与设计稿比例保持一致
包括常见屏幕比例,可计算设备dpi,根据px,dpi计算dp
我相信Android碎片化问题是让所有的Android开发者都比较头疼的问题.尤其是屏幕适配这一块儿.想要自己的app在不同的设备上面都有一个比较好的显示效果.就必须做好相应的屏幕适配.
Google的Web Starter Kit的目标就是帮助开发者为不同设备开发web应用,例如点击同步、屏幕适配等问题。无论你的用户使用老款iPad还是新款Android手机,代码都能够适应。你只需要勾画出界面,屏幕适配的问题可以交给...
本篇文章主要介绍了ionic2屏幕适配实现适配手机、平板等设备的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
设备信息查询 目的: 查看设备信息(省去下载安兔兔这类的重量级、大量广告的应用) 快速找到Android屏幕适配的相关信息(sw限定符、宽高限定符和图片适配等)
Android8.0以后【凹口屏】得到迅速发展,目前已有了挖孔屏/水滴屏/刘海屏等各式各样的屏幕,究其根本依旧是【凹口屏】,单华为一个品牌就涵盖了基本所有类型,而对于屏幕适配也是不可逃避的问题。小菜单独对华为各...