屏幕适配
Posted xiaoleiacm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了屏幕适配相关的知识,希望对你有一定的参考价值。
参考博客:http://blog.csdn.net/guolin_blog/article/details/50727753
1 概念:
1 屏幕分辨率 px
2 屏幕像素密度 dpi : 屏幕尺寸与分辨率有关 1英寸范围内的像素点
3 与密度无关像素 dp: 规定在dpi=160时,1dp=1px
2 minmap
minmap下放入的是App的图标:
APP图标 相应无关密度像素-尺寸建议表
密度 | 建议尺寸 |
---|---|
mipmap-mdpi | 48 * 48 |
mipmap-hdpi | 72 * 72 |
mipmap-xhdpi | 96 * 96 |
mipmap-xxhdpi | 144 * 144 |
mipmap-xxxhdpi | 192 * 192 |
drawable下放入的是程序图片:
drawable dpi范围-相应无关密度对应表 表格:
dpi范围 | 密度 |
---|---|
0dpi ~ 120dpi | ldpi |
120dpi ~ 160dpi | mdpi |
160dpi ~ 240dpi | hdpi |
240dpi ~ 320dpi | xhdpi |
320dpi ~ 480dpi | xxhdpi |
480dpi ~ 640dpi | xxxhdpi |
每一种密度的dpi范围都有一个最大值,这个最大值之间的比例就是图片会被系统自动放大的比例。通常情况下程序图片放在高分辨率的文件夹下,可减少内存消耗。
屏幕适配在具体操作上有以下几种方式:
1 layout 文件中添加:
1 尺寸限定符layout-large
2 最小宽度限定符 layout-sw600dp
3 带方向限定符 layout-land ,layout-port
2 value文件夹中定义:
1 value 文件中添加layouts.xml: (在不同屏幕尺寸中不同的布局方式)
<resources>
<item name="main_layout" type="layout">@layout/activity_main</item>
<item name="land" type="bool">true</item>
</resources>
2 value 文件中添加dimen.xml:(在不同的屏幕中定义不同尺寸大小)
3 .9图:(在不同屏幕尺寸中出现失真情况)
上边线控制水平拉伸, 左边线控制竖直拉伸, 下边线控制水平填充区域, 右边线控制竖直填充区域
4 百分比布局
由于谷歌最新推出了使用百分比进行布局库,可直接使用百分比进行布局,简单方便,适用于大部分情况的布局:https://github.com/JulienGenoud/android-percent-support-lib-sample
后来有人扩展了这个库,使其能直接布局margin等属性,更加方便好用:http://blog.csdn.net/lmj623565791/article/details/46767825
库函数:http://download.csdn.net/detail/xiaoleiacm/9514826
以上是关于屏幕适配的主要内容,如果未能解决你的问题,请参考以下文章