主要讲解两方面适配,一个是桌面图标适配,一个是屏幕适配。
桌面图标适配
这算是一个很古老的东西了,不过直到前不久这个操作才真正走到开发的视野中。
在android7.1中加入了android:roundIcon="@mipmap/ic_launcher_round"
,也就是圆形图标,在8.0中加入了算是规范的图标适配操作了Image Asset。
下面就使用这个工具来做图标适配。
操作很简单,选一张前景,一个背景,finish就可以了。
应用内图标适配
首先,as有两种图标存放的文件夹,mipmap和drawable。于是有人不知道放在哪里好了,别慌,按我的来。把app的图标放在mipmap中,xml放在drawable中,图片放在对应dpi的drawable中,比如drawable-xxhdpi。也就是说除了上面的桌面图标适配操作做完之后,mipmap文件夹就别管了。强行把各种图片放到mipmap下虽然也能用,不过我不推荐这样操作,哦不,是谷歌不推荐。然而我也没弄明白,官方文档中所说的icon指的到底是什么。
放几套图
一套足够了,放到最大分辨率的那个文件夹:drawable-xxxhdpi或者drawable-xxhdpi。
选择什么格式的图标
可以选择svg,png或者各种经过工具压缩的图片。
但是如果可能的话,我推荐使用svg。在sdk21以上和sdk21以下表现还有些区别。
在21以下,打包的时候会把svg生成png存放在各个drawable下,于是,app体积暴增了。
和瘦身不符是不是?问题不大的,只要手动解压apk留一个dpi的图就ok了。
minSdk19工程文件
minSdk19工程文件
minSdk19生成的文件
minSdk19生成的文件
有美工的话,让他给你svg,没有美工怎么办呢,去阿里妈妈矢量图标库自己找吧,那还能怎么办。
关于minSdk的问题,不做广告的能min到21到21吧,除了模拟器真正在用的没多少人。连手机都不舍得换的人,还能为你创收么,我怕你是想多了。
屏幕适配
为什么要屏幕适配呢?现在什么样的才要去适配呢?怎么适配呢?
- 安卓各种设备海了去了,屏幕大大小小更是不知道多少了,想在各种屏幕上看起来视觉感觉一样,就需要屏幕适配了。谷歌为我们做了很多工作了,比如把控件的宽高设置为dp,字体大小设置为sp这些单位适配,能有效处理大部分适配了。
-
既然已经有方案了,不就完了么?还有更奇葩的,也就是这种才是需要适配的,那就是分辨率一样,像素密度不同。这就造成了,在密度低的设备上显得控件小,而且不好处理。
标准是这样的:
分辨率密度关系
-
关于这种问题,适配起来其实也不难。能无视它无视它就完了,不规范的现在少了。如果非要处理,那就创建下面这些文件夹,挨个处理吧。
创建1.png
创建2.png
有点可怕了,实际上有好心人帮助做好了插件,叫做ScreenMatch。
使用它来自动生成就可以了 。
最近又流行了头条的适配方案,也有好心人给封装了工具类,
使用很简单的,Demo在这
那正常的适配到底怎么做!!!
这其实就是美工的设计了。按照一个标准分辨率出设计图,比如10801920,把px除以3标上dp就完了,7201280px除以2。至于其他的各种操作,骗骗自己也就可以了。
网友评论