美文网首页安卓
Android项目中资源文件的相关知识总结

Android项目中资源文件的相关知识总结

作者: heiren0926 | 来源:发表于2019-10-16 13:59 被阅读0次

    1.drawable和mipmap的使用:

    参考:https://www.jianshu.com/p/f7dc272b3469

    a.Launcher图片(APP的图标)必须放到mipmap不同的目录下(mipmap-xxxhdpi、mipmap-xxhdpi(主流)、mipmap-xhdpi(主流)、mipmap-hdpi、mipmap-mdpi、mipmap-ldpi),Launcher会自动加载更加合适的密度的资源。

    b.应用内使用到的图片资源,并不会因为你放在mipmap或者drawable目录而产生差异。单纯只是资源路径的差异R.drawable.xxx或者R.mipmap.xxx。(也可能在低版本系统中有差异)。

    c.图片可以在主流的尺寸目录下保留一份或两份,其他尺寸自动适配即可,可以有效减小APK体积。(尽量保留高尺寸,由高到低图片缩放的失真效果不会特别明显,反而由低到高的扩放失真明显)

    2.res目录和assets目录的区别:

    两者的区别在于是否前者下所有的资源文件都会在R.java文件下生成对应的资源id(系统自动生成,只管用即可),而后者并不会,后者需要我们通过AssetManager以二进制流的形式来读取,一般存放一些大的文件,如音频、视频、Html、JSON等!

    注:assets目录一般手动自建(as不会自动创建),与res目录同级。

    3.style与theme的区别

    参考:https://www.jb51.net/article/91634.htm

    两者的区别是style应用于view中,而theme应用于application和activity中。

    两者都定义在values/styles.xml中,都使用<style>标签定义,theme一般继承自Theme.AppCompat(所以,一般我们会看到as自动生成的<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">)

    theme具体使用方法是找到AndroidManifest.xml配置application和具体activity的主题即可:android:theme="@style/AppTheme"

    样式的一般处理方法,先生成一个view,AS中右键选择Refactor > Extract > Style,可将当前的view中的样式抽象出来,自动定义到styles.xml中,以复用。

    关于继承,有显式继承和隐式继承两种写法,一般继承自系统采用显式继承(parent属性:<style name="TealBox" parent="MyBox">),继承自定义样式采用隐式继承(父名称.子名称:<style name="MyBox.TEAL">)

    4.资源文件中,那些-v24、-anydpi-v26、-w820dp、-en/-zh-rCN后缀的文件夹是干什么用的?

    参考:https://blog.csdn.net/chy6575/article/details/51119840

    android工程res目录下的资源文件夹(drawable,values,layout等)在屏幕适配方面的限定与适配方法,

    命名方法与要求:

    1) 命名不区分大小写;

    2) 命名形式:资源名-属性1-属性2-属性3-属性4-属性5

    -v*:表示适配Android API版本及以上,如-v24适配API 24及以上设备的专用资源

    -w820dp:表示适配宽度

    -en、-en-rUS、-zh-rCN:表示适配语言

    5.点9文件有什么用?如何制作?

    参考:https://www.uisdc.com/draw-9-patch-androidhttps://blog.csdn.net/zhaoqi2617/article/details/72883904

    即 .9 ,是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png,用于图片在横屏/竖屏切换过程中图片被拉伸后形状和内容不失真用的。一般用于局部颜色单一的背景图片素材。

    在Android studio制作步骤是:将项目的.png图片放到资源文件夹drawable下面,然后右键则出现带有“create 9patch file~”的选项了,点击后会出现另一个让你选择保存9patch文件的目录和名称确认,这里直接默认就在drawable保存,名称也默认就是之前的.png图片变为.9.png图片就好了。然后就生成了这个.9.png图片的初始样本了,这个时候可以将之前的图片删掉了,不然编译的时候会报错“duplicate source”了。或者做好.9.png图片再删掉也可以。

    相关文章

      网友评论

        本文标题:Android项目中资源文件的相关知识总结

        本文链接:https://www.haomeiwen.com/subject/ilzymctx.html