Android应用如何做屏幕适配

来源:互联网 发布:中国软件杯东软睿道 编辑:程序博客网 时间:2024/06/04 18:50

Android应用如何做屏幕适配


在Android应用开发中,我们常遇到一个非常麻烦的问题,那就是做不同屏幕的适配问题。因为Android手机的种类众多,屏幕的尺寸,像素等配置都各不相同,如何让应用能适应各种屏幕,成为了Android应用开发中的一个非常重要的问题。

先简单介绍一下Android的屏幕的种类以及屏幕的单位。

android手机屏幕可以按两种标准分类。按屏幕尺寸分,常见的有small,normal,large,xlarge四种,还有就是按屏幕像素密度分,常见的有ldpi,mdpi,hdpi,xhdpi四种。ldpi:对应分辨率240×320;mdpi:对应分辨率320×480;hdpi:对应分辨率480×800或480×854。实际的情况可能还要更复杂。可以参考下面的图



接着说说Android中的单位。

dp(dip):指一个抽象意义上的像素,程序用它来定义界面元素。一个与密度无关的像素,在逻辑尺寸上,与一个位于像素密度为160DPI的屏幕上的像素是一致的,这也是Android平台所假定的默认显示设备。在运行的时候,平台会以目标屏幕的密度作为基准,“透明地”处理所有需要的DIP缩放操作。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:pixels=dips*(density/160)。这个density,在ldpi屏幕上是120,mdpi的屏幕上是160,hdpi为240,xhdpi为320,可以根据这个计算出dp与px之间的关系。举个例子,在DPI为240的屏幕上,1个DIP等于1.5个物理像素。我们最长用的就是这个单位。

px就不用多讲了,就是屏幕实际的像素单位,在开发中尽量少的使用绝对像素,这是我个人看法。
我一般使用的适配屏幕的方法是建立不同的values文件夹,分别创建dimen.xml
文件,然后把需要使用具体值来确定大小和位置的空间,把值都提取到dimen文件中,在布局文件中引用。

 

创建不同的文件夹存放dimen.xml文件。

 

在布局文件中引用。

然后在不同的dimen文件中,配置不同的值,使其匹配文件夹对应的屏幕。这种办法虽然比较麻烦,但是效果还是不错的,只要dimen中值配对了,那么布局显示在屏幕上的效果还是很不错的。

要注意的一点就是,dimens文件中值一定要计算正确。

介绍一个计算的方法。先计算出一个作为标准的屏幕上的所有布局的值,确定好之后,就根据不同屏幕像素和dpi的关系,计算出各种屏幕与标准屏幕的比值关系,就可以轻松计算出其他屏幕的配置数值了。关键的就是先定好一个,根据比值关系算出其他的。

以上是我在实际开发中用的适配屏幕的方法,希望与大家多多交流,希望大家有好的方法也可以多分享。

原创粉丝点击