美文网首页
Day4 鸿蒙,资源文件的分类和安卓相比差异比想象的大

Day4 鸿蒙,资源文件的分类和安卓相比差异比想象的大

作者: 程序员小小叶 | 来源:发表于2020-12-13 17:15 被阅读0次

【结论】

(1)默认资源目录其实差异有限,但在限定词目录的设置上,鸿蒙比安卓设置的更细化,同时也可以看出其分布式设计的理念,这一点更具有优势;

(2)鸿蒙的base与安卓的res类同,可以以此来对比学习;

【鸿蒙】

resources目录

应用的资源文件(字符串、图片、音频等)统一存放于resources目录下,便于开发者使用和维护。resources目录包括两大类目录,一类为base目录与限定词目录,另一类为rawfile目录,详见表1。

资源目录示例:

resources

|---base // 默认存在的目录

| |---element

| | |---string.json

| |---media

| | |---icon.png

|---en_GB-vertical-car-mdpi // 限定词目录示例,需要开发者自行创建

| |---element

| | |---string.json

| |---media

| | |---icon.png

|---rawfile // 默认存在的目录

表1 resources目录分类

file

限定词目录

限定词目录可以由一个或多个表征应用场景或设备特征的限定词组合而成,包括语言、文字、国家或地区、横竖屏、设备类型和屏幕密度等六个维度,限定词之间通过下划线(_)或者中划线(-)连接。开发者在创建限定词目录时,需要掌握限定词目录的命名要求以及与限定词目录与设备状态的匹配规则。

限定词目录的命名要求

限定词的组合顺序:语言文字国家或地区-横竖屏-设备类型-屏幕密度。开发者可以根据应用的使用场景和设备特征,选择其中的一类或几类限定词组成目录名称。

限定词的连接方式:语言、文字、国家或地区之间采用下划线(_)连接,除此之外的其他限定词之间均采用中划线(-)连接。例如:zh_Hant_CN、zh_CN-car-ldpi。

限定词的取值范围:每类限定词的取值必须符合表2中的条件,否则,将无法匹配目录中的资源文件。

表2 限定词取值要求

file

限定词目录与设备状态的匹配规则

在为设备匹配对应的资源文件时,限定词目录匹配的优先级从高到低依次为:区域(语言文字国家或地区)> 横竖屏 > 设备类型 > 屏幕密度。

如果限定词目录中包含语言、文字、横竖屏、设备类型限定词,则对应限定词的取值必须与当前的设备状态完全一致,该目录才能够参与设备的资源匹配。例如,限定词目录“zh_CN-car-ldpi”不能参与“en_US”设备的资源匹配。

资源组目录

base目录与限定词目录下面可以创建资源组目录(包括element、media、animation、layout、graphic、profile),用于存放特定类型的资源文件,详见表3。

表3 资源组目录说明

file

【安卓】

资源目录结构

res为资源目录,主要以xml语法编写静态的资源。

资源的命名标准:小写字母和数字,且以小写字母开头。

资源的生成,为了和java语法沟通,资源文件会自动的生成在【gen】目录的R.java文件里面。

资源为了适应不同的场景,会把不同场景资源区分开,区分方法为在资源目录后面加上-,例如一个图片分为高中低三种不同的分辨率,那么我们把这三个图片的名称取名一样,分别放在drawable-hdpi、drawable-ldpi、drawable-mdpi三个资源目录,Android操作系统会根据实际硬件环境去获取对应的图片

(1)drawable-xxxxx主要是针对不同尺寸和分辨率的资源解决方案

(2)layout-xxxxx主要是针对布局文件的不同的资源解决方案,例如layout是竖屏幕,layout-land是横屏幕

(3)values-xxxx主要是针对国际化的解决方案。

a、字符串(String)资源,文件strings.xml

b、数组(Array)资源,文件strings.xml

c、颜色(Color)资源,文件strings.xml

d、尺寸(Dimension)资源,dimens.xml,但是依然可以放在strings.xml

e、样式(Style)资源,styles.xml,但是依然可以放在strings.xml

f、颜色(Drawable)资源,文件strings.xml

资源目录示例:

res

|values // 默认存在的目录

| |---string.xml

| |---color.xml

| |---dimens.xml

| |---attrs.xml

| |---styles.xml

|drawable // 默认存在的目录

| |---*.png

| |---*.jpg

| |---*.gif

| |---*.9.png

|mipmap // 默认存在的目录

| |---同上

|anim // 默认存在的目录

| |---*.xml

|layout // 默认存在的目录

| |---*.xml

|raw // 默认存在的目录

| |---.

|xml// 默认存在的目录

| |---*.xml

|asserts // 默认存在的目录

备注:

【anim】:动画资源

【color】:颜色资源

【layout】:布局资源

【menu】:菜单资源

【raw】:本地文件存储资源

【values】:值资源

【xml】:xml文件资源

【drawable】:图片资源和图形资源

本文由GZH程序员小小叶发布!

相关文章

  • Day4 鸿蒙,资源文件的分类和安卓相比差异比想象的大

    【结论】 (1)默认资源目录其实差异有限,但在限定词目录的设置上,鸿蒙比安卓设置的更细化,同时也可以看出其分布式设...

  • 劣币驱逐良币

    最近因为华为的鸿蒙系统,有很多评测都认为其相比于安卓,最大的优势在于解决后台运行碎片化的问题。 天下苦安卓后台碎片...

  • 鸿蒙系统为什么只用在荣耀智慧屏

    原因是生态。安卓系统的生态是目前鸿蒙完全无法比拟的,鸿蒙在安卓面前婴儿都不算,安卓系统的生态已经经过了几十年,上亿...

  • 鸿蒙应用配置文件简介

    鸿蒙应用的配置文件 安卓有个清单文件,四大组件、权限等都需要在清单文件中注册,清单文件是个xml文件。类似的,鸿蒙...

  • 样式(style)和主题(theme)资源

    在安卓中,提供了用于对安卓应用进行美化的样式和主题资源,使用这种资源可以开发出各种风格的安卓应用。 样式资源 st...

  • 从安卓到Ios,钱究竟花哪去了?

    撇开华为即将推出的鸿蒙,现在智能手机市场上只有Google的安卓系统和Apple的Ios系统。 安卓系统 1、廉价...

  • 开辟鸿蒙

    开辟鸿蒙,谁为情种?。。。哈哈,今天要聊的不是红楼梦,而是6月2日即将发布的鸿蒙2.0。 很多人纠结鸿蒙和安卓的关...

  • 鸿蒙系统资源文件分类

    resources目录 应用的资源文件(字符串、图片、音频等)统一存放于resources目录下,便于开发者使用和...

  • iOS和安卓差异

    设计上来说这两个系统有些东西越来越通用了,目前很多Android的应用偏苹果风格,也就是说基本都是采用一套iOS设...

  • Android 打包记

    Android 打包记 安卓打包相比iOS算是简单的多的多了,没有那么 多证书限制 安卓打包只需要一个签名文件(k...

网友评论

      本文标题:Day4 鸿蒙,资源文件的分类和安卓相比差异比想象的大

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