android开发中自适应屏幕分辨率总结

本文深入探讨了Android开发中针对不同屏幕分辨率和密度进行UI适配的方法,包括如何创建适当的资源文件夹、使用dimens文件定义尺寸以及在布局中引用这些资源,以确保深度UI定制。此外,文章还介绍了如何在不指定密度的情况下适配分辨率,并解释了dimens文件的用途及其单位,如px、in、mm、pt和dp/dip等。

 屏幕分辨率:1024x600
    density:1(160)
    文件夹:values-mdpi-1024x600

    屏幕分辨率:1024x600
    density:1.5(240)
    文件夹:values-hdpi-683x400  由1024/1.5  600/1.5得到,需要四舍五入。

    屏幕分辨率:800x480
    density:1(160)
    文件夹:values-mdpi-800x480

    屏幕分辨率:800x480
    density:1.5(240)
    文件夹:values-hdpi-533x320  由800/1.5  480/1.5得到,需要四舍五入。

  以此类推
    一般情况下需要创建出values 、values-mdpi 、 values-hdpi文件夹,以备在一些没有规定的尺寸屏幕上找不到资源的情况。

    然后在里面使用不同的dimens文件,Layout中不要使用显示的数字,所有的尺寸定义全都援引dimens里面的内容。

    这样能够保证深度UI定制的情况

    另外在工程的default.properties中如果split.density=false,则分辨率适配的时候文件夹命名不需要与scale相除

  例
  屏幕分辨率:800x480
  density:1.5(240)
  文件夹:values-hdpi-800x480

  关于dimens 

    位置:res\values
    单位:px   Pixel 以画面的像素为单位;
         in     Inches以画面的多少英寸为单位;
         mm  Millimeter以画面的多少毫米为单位;
         pt     Points 一点为1/72英寸;
         dp或dip  Density-indepentdent 为160dpi屏幕的一个pixel;
         ap Scale-independent Pixels 随屏幕尺寸改变的一个pixel;

第一步:解压DimensEx.rar,里面有一个工具和一个dimens.xml模板,该dimens.xml中包函了从1px到1400px,相信足够大家使用了,如果不够,可自行添加。 第二步:建立工程并将解压出的dimens.xml复制到/res/values文件夹下。 第三步:开始写布局文件,写的时候如果有要设置大小,则不要直接写成如:android:layout_width:"20dp"的形式,应该写成:android:layout_width:"@dimen/DIG_20PX",注意这里如果是设置背景图片,则大小是图片的大小(右击图片——属性——大小),所有的大小都这样写,包括字体大小。 第四步:当整个app按照这个方式开发完成后,如果想适应其它的分辨率,则先用工具测试一下当前设备的分辨率,这里我们假定你当前的开发机的分辨率为800x480,dpi为240,现在想要适应的分辨率是1280x720,dpi是160。运行DimensEx.exe,点击上方的Browse按钮找到解压出来的dimens.xml,然后输入相关信息,点击Transfor按钮开始转换,转换完成后,点击下方的Browser按钮,选择输入路径,如图1所示。此时点击Export后会在输出路径上生成一个saveDimens.xml。 第五步:在/res/文件夹下建立一个名为:values-1280x720的文件夹,将saveDimens.xml复制进去并将名字命名为:dimens.xml,至此操作全部完成。 第六步:找一部分辨率为1280x720,dpi为160的设备,将项目运行在上面,你会发现已经完美适配。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值