Android开发如何白嫖适配各种屏幕的图标?
Posted 宾有为
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发如何白嫖适配各种屏幕的图标?相关的知识,希望对你有一定的参考价值。
你有没有想过,如果你掌握了白嫖图标的方法,你和美工小姐姐不谈工作,只谈感情的时间会多出多少?
Image Asset
选择app
及其以下任一目录→选择new
→Image Asset
,会弹出类似这样的一个窗口
Icon Type
可选类型有:
Launcher Icons(Adaptive and Legacy)
Launcher Icons(Legacy only)
Action Bar and Tab Icons
Notification Icons
TV Banners
TV Channel Icons
搁这的有六种类型,每一种都有着不一样的作用,博主只讲解相对来说用的比较多的Action Bar and Tab Icons
。
Icon Type
选择Action Bar and Tab Icons
,Asset Type
有Image
、Clip Art
、Text
三种类型可选。
-
Image
:需要一个本地图片路径的,与白嫖相违背,咱不鸟它。 -
Clip Art
:可以选android自带的一些图标,这样的一个页面有36个图标,一共有31页左右,那么它的图标总数就是36x31=1116
个左右图标,没错,是1116个左右,是不是有点多?别急,我们还没讲完
Select Icon
窗口下面有一行字,These icons are available under the Apache License Version 2.0(这些图标可在Apache License 2.0版本下使用)
Apache License 2.0
是一个协议,来自Apache基金会,关于这个协议想了解更多的小伙伴可点击 五种开源协议 查看。
Android官方也有加入这个协议,所以这些图标大家大可放心使用。 -
Text
:如果想要字体图标,那就选Text
吧。选择Text
需要注意的是字体样式,某些字体样式不支持中文,中文会乱码,如图:
我就想要中文效果,咋办?那咱换一个样式呗。将样式滑动到最下方,就会有中文的样式可选,选择这些中文就不会乱码啦。
Trim
与Padding
如果需求对图标不严格的话,不用动,默认的也行。
Theme
:设置图标颜色。如果想要一个图标含有多种颜色,在生成文件后多加几个path
标签,删除掉tint
属性,tint
属性会覆盖path
标签fillColor
,如果不删fillColor
便形同虚设。
点击Next
就可以看到点击Finish
后在各个目录生成的文件
点击Finish,图标就会在展示出来的那几个文件夹创建一个同名的文件,如果创建的图标颜色不是你想要的,你可以打开drawable-anydpi
目录下的对应文件对它进行适当修改,修改颜色需要修改tint
与alpha
,tint
设置的颜色是16进制。alpha
的值是0 → 1,用于设置图标透明度。
如果那1116个图标中没有我想要的图标怎么办?
那你可得在pathData
的参数使用贝塞尔曲线
的知识对它进行绘制咯。
Vector Asset
创建Vector Asset
Vector Asset
创建可选择本地的SVG、PSD
的文件格式,Clip Art
的资源与Image Asset
资源一致,可自己设置图标的大小与透明度。
点击下一步后,不同于Image Asset
,Vector Asset
只会在drawable
生成一个xml
文件,生成文件的地方不同,但生成的xml
文件里面的内容与Image Asset
的基本一致。
.9.png(拉伸图片不会失帧的图片格式)
制作一张.9.png
图片需要提前准备好一张png
图片,并将其引入项目。选中png
图片点击鼠标右键即可看见Create 9-Patch file
。
点击会生成一张同名的.9.png
图片,生成.9.png
的图片应该把同一目录同名称的.png
图片资源删除,以免编译出现资源重复的问题。
打开图片,便是会展现这样的个画面,在这个界面可以通过拉拽图片的边距调整页面的拉伸范围。
在布局上引用.9.png
与png
的图片作为背景图片并设置layout_width
为match_parent
、layout_height
为400dp
时就会发现,同样大小的一张图片不同的后缀名清晰度却有很大的区别。回想起来,社交软件的聊天气泡也许用的就是.9.png
图片,以此达到图片宽高延伸却不会失帧的效果。
参考文献:
1、Android studio软件生成.9.png格式图片
以上是关于Android开发如何白嫖适配各种屏幕的图标?的主要内容,如果未能解决你的问题,请参考以下文章
Android 屏幕适配(修改系统字体大小显示大小修改分辨率相关适配)