网上看了太多的屏幕适配文章,大多讲的太精细,适合要求精度特别高的场合,而且大多讲的drawable里的图片适配,这里就给大家讲一下简单的xml里的适配,让急需弄懂适配的你花两分钟就能上手。
先讲一下总体思路:在你的res文件夹下新建你要求适配的屏幕,如图每个values文件夹下都有一个dimens的文件里面放置根据不同分辨路调整的dp大小,然后在你要用到dp的地方换做应用@dimens文件下的这个name就可以了。来看这个是values-960x540的屏幕下的文件:
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="indecate_margin_left">40dp</dimen>//这里为40dp
</resources>
再来看比这个屏幕大一点的屏幕下的文件values-1208x720
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="indecate_margin_left">45dp</dimen>//这里是45dp
</resources>
太聪明了,你也发现了它是屏幕越大相应的数值越大的规律了,如果你想要特别精确的话可以自己去计算比例。
然后在xml中用到dp的地方替换为引用:
android:layout_marginLeft="@dimen/indecate_margin_left"
然后它就会根据不同的分辨率自己去找对应的dp了