Android 完美适配多分辨率总结

来源:互联网 发布:游戏破解软件下载 编辑:程序博客网 时间:2024/06/03 19:48

   android 适配,之前工作都是以1280*720界面进行适配工作,但是现在手机分辨率进入2K时代,所以现在美工都以1920*1080来做界面设计。以以前的工作经验总结了一下适的方案。

1.工具:MarkMan这个是必备的测量工具 下载地址(下载安装后别更新,不然保存不了测量过的数据)

2.懂得分辨率原理(0.75、1、1.5、2.0、3.0)

3.知道以什么分辨率开发界面。

要注意地是平板开发,values-sw600dp, values-sw720dp-land。这二个文件下主要用于平板存放的。

sw720dp的意思是最少宽度为720dp,如一个1280*800的设备,密度为1就是10寸平板,它的宽度为1280dp,所以它优先去 values-sw720dp文件下找资源,然后再去sw600dp,还没有找到就去drawable-mdpi找,然后再向上找(密度高的文件下找),最后去drawable-ldpi找!


例子步骤:

1.以下是1920*1080的截图,测量好需要的像素尺寸:


2.然后在values文件中创建dimens.xml文件

[html] view plaincopyprint?
  1. <resources>  
  2.   
  3.     <!-- 本dimens用于适配密度3.0设备 (480ppi) -->  
  4.     <!-- pxTodp -->  
  5.     <dimen name="px3dp">1.0dp</dimen>  
  6.     <dimen name="px15dp">5.0dp</dimen>  
  7.     <dimen name="px18dp">6.0dp</dimen>  
  8.     <dimen name="px24dp">8.0dp</dimen>  
  9.     <dimen name="px30dp">10.0dp</dimen>  
  10.     <dimen name="px36dp">12.0dp</dimen>  
  11.     <dimen name="px42dp">14.0dp</dimen>  
  12.     <dimen name="px45dp">15.0dp</dimen>  
  13.     <dimen name="px48dp">16.0dp</dimen>  
  14.     <dimen name="px51dp">17.0dp</dimen>  
  15.     <dimen name="px54dp">18.0dp</dimen>  
  16.     <dimen name="px57dp">19.0dp</dimen>  
  17.     <dimen name="px60dp">20.0dp</dimen>  
  18.     <dimen name="px66dp">22.0dp</dimen>  
  19.     <dimen name="px72dp">24.0dp</dimen>  
  20.     <dimen name="px78dp">26.0dp</dimen>  
  21.     <dimen name="px84dp">28.0dp</dimen>  
  22.     <dimen name="px90dp">30.0dp</dimen>  
  23.     <dimen name="px105dp">35.0dp</dimen>  
  24.     <dimen name="px120dp">40.0dp</dimen>  
  25.     <dimen name="px225dp">75.0dp</dimen>  
  26.     <!-- pxTosp -->  
  27.     <dimen name="px18sp">6.0sp</dimen>  
  28.     <dimen name="px21sp">7.0sp</dimen>  
  29.     <dimen name="px24sp">8.0sp</dimen>  
  30.     <dimen name="px27sp">9.0sp</dimen>  
  31.     <dimen name="px30sp">10.sp</dimen>  
  32.     <dimen name="px33sp">11.0sp</dimen>  
  33.     <dimen name="px36sp">12.0sp</dimen>  
  34.     <dimen name="px39sp">13.0sp</dimen>  
  35.     <dimen name="px42sp">14.0sp</dimen>  
  36.     <dimen name="px45sp">15.0sp</dimen>  
  37.     <dimen name="px48sp">16.0sp</dimen>  
  38.     <dimen name="px51sp">17.0sp</dimen>  
  39.     <dimen name="px54sp">18.0sp</dimen>  
  40.     <dimen name="px60sp">20.0sp</dimen>  
  41.     <dimen name="px66sp">22.0sp</dimen>  
  42.     <!-- dp 无须在其他values里再定义 -->  
  43.     <dimen name="dp1">1.0dp</dimen>  
  44.     <dimen name="dp5">5.0dp</dimen>  
  45.     <dimen name="dp6">6.0dp</dimen>  
  46.     <dimen name="dp8">8.0dp</dimen>  
  47.     <dimen name="dp10">10.0dp</dimen>  
  48.     <dimen name="dp12">12.0dp</dimen>  
  49.     <dimen name="dp14">14.0dp</dimen>  
  50.     <dimen name="dp15">15.0dp</dimen>  
  51.     <dimen name="dp16">16.0dp</dimen>  
  52.     <dimen name="dp17">17.0dp</dimen>  
  53.     <dimen name="dp18">18.0dp</dimen>  
  54.     <dimen name="dp19">19.0dp</dimen>  
  55.     <dimen name="dp20">20.0dp</dimen>  
  56.     <dimen name="dp22">22.0dp</dimen>  
  57.     <dimen name="dp24">24.0dp</dimen>  
  58.     <dimen name="dp26">26.0dp</dimen>  
  59.     <dimen name="dp28">28.0dp</dimen>  
  60.     <dimen name="dp30">30.0dp</dimen>  
  61.     <dimen name="dp35">35.0dp</dimen>  
  62.     <dimen name="dp40">40.0dp</dimen>  
  63.     <!-- sp 无须在其他values里再定义 -->  
  64.     <dimen name="sp6">6.0sp</dimen>  
  65.     <dimen name="sp7">7.0sp</dimen>  
  66.     <dimen name="sp8">8.0sp</dimen>  
  67.     <dimen name="sp9">9.0sp</dimen>  
  68.     <dimen name="sp10">10.sp</dimen>  
  69.     <dimen name="sp11">11.0sp</dimen>  
  70.     <dimen name="sp12">12.0sp</dimen>  
  71.     <dimen name="sp13">13.0sp</dimen>  
  72.     <dimen name="sp14">14.0sp</dimen>  
  73.     <dimen name="sp15">15.0sp</dimen>  
  74.     <dimen name="sp16">16.0sp</dimen>  
  75.     <dimen name="sp17">17.0sp</dimen>  
  76.     <dimen name="sp18">18.0sp</dimen>  
  77.     <dimen name="sp20">20.0sp</dimen>  
  78.     <dimen name="sp22">22.0sp</dimen>  
  79.   
  80. </resources>  

3.在layout中统一使用即可!

    如:

[html] view plaincopyprint?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent" >  
  5.   
  6.     <FrameLayout  
  7.         android:id="@+id/frame"  
  8.         android:layout_width="@dimen/px120dp"  
  9.         android:layout_height="@dimen/dp40" >  
  10.     </FrameLayout>  
  11.   
  12. </LinearLayout>  

0 0