您的位置:首页 > 移动开发 > Android开发

Android 完美适配多分辨率总结

2015-02-03 17:05 288 查看
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?

<resources>



<!-- 本dimens用于适配密度3.0设备 (480ppi) -->

<!-- pxTodp -->

<dimen name="px3dp">1.0dp</dimen>

<dimen name="px15dp">5.0dp</dimen>

<dimen name="px18dp">6.0dp</dimen>

<dimen name="px24dp">8.0dp</dimen>

<dimen name="px30dp">10.0dp</dimen>

<dimen name="px36dp">12.0dp</dimen>

<dimen name="px42dp">14.0dp</dimen>

<dimen name="px45dp">15.0dp</dimen>

<dimen name="px48dp">16.0dp</dimen>

<dimen name="px51dp">17.0dp</dimen>

<dimen name="px54dp">18.0dp</dimen>

<dimen name="px57dp">19.0dp</dimen>

<dimen name="px60dp">20.0dp</dimen>

<dimen name="px66dp">22.0dp</dimen>

<dimen name="px72dp">24.0dp</dimen>

<dimen name="px78dp">26.0dp</dimen>

<dimen name="px84dp">28.0dp</dimen>

<dimen name="px90dp">30.0dp</dimen>

<dimen name="px105dp">35.0dp</dimen>

<dimen name="px120dp">40.0dp</dimen>

<dimen name="px225dp">75.0dp</dimen>

<!-- pxTosp -->

<dimen name="px18sp">6.0sp</dimen>

<dimen name="px21sp">7.0sp</dimen>

<dimen name="px24sp">8.0sp</dimen>

<dimen name="px27sp">9.0sp</dimen>

<dimen name="px30sp">10.sp</dimen>

<dimen name="px33sp">11.0sp</dimen>

<dimen name="px36sp">12.0sp</dimen>

<dimen name="px39sp">13.0sp</dimen>

<dimen name="px42sp">14.0sp</dimen>

<dimen name="px45sp">15.0sp</dimen>

<dimen name="px48sp">16.0sp</dimen>

<dimen name="px51sp">17.0sp</dimen>

<dimen name="px54sp">18.0sp</dimen>

<dimen name="px60sp">20.0sp</dimen>

<dimen name="px66sp">22.0sp</dimen>

<!-- dp 无须在其他values里再定义 -->

<dimen name="dp1">1.0dp</dimen>

<dimen name="dp5">5.0dp</dimen>

<dimen name="dp6">6.0dp</dimen>

<dimen name="dp8">8.0dp</dimen>

<dimen name="dp10">10.0dp</dimen>

<dimen name="dp12">12.0dp</dimen>

<dimen name="dp14">14.0dp</dimen>

<dimen name="dp15">15.0dp</dimen>

<dimen name="dp16">16.0dp</dimen>

<dimen name="dp17">17.0dp</dimen>

<dimen name="dp18">18.0dp</dimen>

<dimen name="dp19">19.0dp</dimen>

<dimen name="dp20">20.0dp</dimen>

<dimen name="dp22">22.0dp</dimen>

<dimen name="dp24">24.0dp</dimen>

<dimen name="dp26">26.0dp</dimen>

<dimen name="dp28">28.0dp</dimen>

<dimen name="dp30">30.0dp</dimen>

<dimen name="dp35">35.0dp</dimen>

<dimen name="dp40">40.0dp</dimen>

<!-- sp 无须在其他values里再定义 -->

<dimen name="sp6">6.0sp</dimen>

<dimen name="sp7">7.0sp</dimen>

<dimen name="sp8">8.0sp</dimen>

<dimen name="sp9">9.0sp</dimen>

<dimen name="sp10">10.sp</dimen>

<dimen name="sp11">11.0sp</dimen>

<dimen name="sp12">12.0sp</dimen>

<dimen name="sp13">13.0sp</dimen>

<dimen name="sp14">14.0sp</dimen>

<dimen name="sp15">15.0sp</dimen>

<dimen name="sp16">16.0sp</dimen>

<dimen name="sp17">17.0sp</dimen>

<dimen name="sp18">18.0sp</dimen>

<dimen name="sp20">20.0sp</dimen>

<dimen name="sp22">22.0sp</dimen>



</resources>


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

如:

[html] view
plaincopyprint?

<?xml version="1.0" encoding="UTF-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >



<FrameLayout

android:id="@+id/frame"

android:layout_width="@dimen/px120dp"

android:layout_height="@dimen/dp40" >

</FrameLayout>



</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: