Android 应用资源概览

这篇具有很好参考价值的文章主要介绍了Android 应用资源概览。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

Android 应用资源概览,Android基础,android

一、导读

我们继续总结学习Android 基础知识,温故知新。

资源是指代码使用的附加文件和静态内容,例如位图、布局定义、界面字符串、动画说明等。

本文档介绍了如何对 Android 项目中的资源进行分组。此外,还介绍了如何为特定设备配置提供备用资源,以及如何从您的应用代码或其他 XML 文件访问这些资源。

二、概览

在项目中有一个 res 文件夹, 里面包含所有资源,在这个文件夹下,再根据每种类型的资源新建不同的目录来存放不同类型的资源。

三、资源类型分组

根据资源的类型,我们大致可以分成以下几种:

目录 资源类型
animator 用于定义属性动画的 XML 文件。
anim 用于定义补间动画的 XML 文件。属性动画也可保存在此目录中,但为了区分这两种类型,属性动画首选 animator/ 目录。
color 定义颜色状态列表的 XML 文件。如需了解详情,请参阅 ColorStateList。
drawable 位图文件(PNG、.9.png、JPG 或 GIF)或编译为以下可绘制资源子类型的 XML 文件
mipmap 适用于不同启动器图标密度的可绘制对象文件。如需详细了解如何使用 mipmap 文件夹管理启动器图标,请参阅将应用图标放在 mipmap 目录中。
layout 用于定义界面布局的 XML 文件。如需了解详情
menu 用于定义应用菜单(例如选项菜单、上下文菜单或子菜单)的 XML 文件。
raw 需以原始形式保存的任意文件。如要使用原始 InputStream 打开这些资源,请使用资源 ID(即 R.raw.filename)调用 Resources.openRawResource()。但是,如需访问原始文件名和文件层次结构,请考虑将资源保存在 assets 目录(而非 res/raw)下。assets 中的文件没有资源 ID,因此您只能使用 AssetManager 读取这些文件。
values 包含字符串、整数和颜色等简单值的 XML 文件。values 目录中的文件可描述多个资源。对于此目录中的文件, 元素的每个子元素均会定义一个资源。例如, 元素会创建 R.string 资源, 元素会创建 R.color 资源。
xml 可在运行时通过调用 Resources.getXML() 读取的任意 XML 文件。各种 XML 配置文件(例如搜索配置)都必须保存在此处。
font 带有扩展名的字体文件(例如 TTF、OTF 或 TTC),或包含 元素的 XML 文件。如需详细了解以资源形式使用的字体,请参阅将字体添加为 XML 资源。

四、配置限定符名称表

如果需要适配不同的设备,我们的资源也要适配多套, 其命名格式如下:

<resources_name>-<qualifier>

<resources_name> 是相应默认资源的目录名称(如上面表格 中所定义 values , drawable)。
<qualifier> 是指定要使用这些资源的各个配置的名称(如表 下表 中所定义),可以追加多个 <qualifier>,并使用短划线进行分隔。

drawable-hdpi
drawable-night-hdpi
限定符值 配置说明
MCC 和 MNC 移动设备国家/地区代码 (MCC),(可选)后跟设备 SIM 卡中的移动设备网络代码 (MNC)。示例:mcc310、mcc310-mnc004、mcc208-mnc00
en、fr等等 语言、脚本(可选)和区域(可选),用于应用本地化
ldrtl、ldltr 应用的布局方向,ldrtl 是指“布局方向从右到左”。ldltr 是指“布局方向从左到右”(默认的隐式值)。
swdp 最小宽度,应用可用屏幕区域的最短尺寸,示例:sw320dp、sw600dp、sw720dp等等
wdp、hdp 可用宽度和高度,指定资源使用的最小可用屏幕宽度或高度(以 dp 为单位,由 值定义),示例:、w720dp、w1024dp、h720dp、h1024dp等等
small、normal、large、xlarge 屏幕尺寸
long、notlong 屏幕宽高比
round、notround 圆形屏幕
widecg、nowidecg 广色域
highdr、lowdr 高动态范围 (HDR)
port、land 屏幕方向
car、desk、television、appliance、watch、vrheadset 界面模式,如车载、桌面、电视、不带显示屏的、手表、虚拟现实耳机
night、notnight 夜间模式
ldpi、mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi、nodpi、tvdpi、anydpi、nnndpi 屏幕像素密度 (dpi)
notouch、finger 触摸屏类型,如设备没有触摸屏、设备有一个专供用户通过手指直接与其交互的触摸屏
keysexposed、keyshidden、keyssoft 键盘可用性
nokeys、qwerty、12key 主要的文本输入法
navexposed、navhidden 导航键可用性
v3、v4、v7等等 平台版本(API 级别),设备支持的 API 级别。例如,v1 对应 API 级别 1(搭载 Android 1.0 或更高版本的设备);v4 对应 API 级别 4(搭载 Android 1.6 或更高版本的设备)。如需了解有关这些值的详细信息,请参阅 Android API 级别文档。
- ldpi:低密度屏幕;约为 120 dpi。
- mdpi:中密度(传统 HVGA)屏幕;约为 160 dpi。
- hdpi:高密度屏幕;约为 240 dpi。
- xhdpi:超高密度屏幕;约为 320 dpi。此项为 API 级别 8 中的新增配置。
- xxhdpi:超超高密度屏幕;约为 480 dpi。此项为 API 级别 16 中的新增配置。
- xxxhdpi:超超超高密度屏幕使用(仅限启动器图标,请参阅支持不同的像素密度);约为 640 dpi。此项为 API 级别 18 中的新增配置。

这六种主要密度之间的缩放比例为 3:4:6:8:12:16(tvdpi 密度忽略不计)。因此,9x9 (ldpi) 位图相当于 12x12 (mdpi)、18x18 (hdpi)、24x24 (xhdpi) 位图,依此类推。

- nodpi:用于您不希望为匹配设备密度而进行缩放的位图资源。
- tvdpi:密度介于 mdpi 和 hdpi 之间的屏幕;约为 213 dpi。这不属于“主要”密度组。它主要用于电视,而大多数应用都不需要它。对于大多数应用而言,提供 mdpi 和 hdpi 资源便已足够,系统将视情况对其进行缩放。此项为 API 级别 13 中的新增配置。
- anydpi:适合所有屏幕密度,其优先级高于其他限定符。这对于矢量可绘制对象非常有用。此项为 API 级别 21 中的新增配置。
- nnndpi:用于表示非标准密度,其中 nnn 是正整数屏幕密度。大多数情况下不使用此限定符。使用标准密度存储分区,可显著减少因支持市场上各种设备屏幕密度而产生的开销。

五、限定符命名规则

以下是一些使用配置限定符名称时需遵循的规则:

  • 可以为单组资源指定多个限定符,并使用短划线分隔。例如,drawable-en-rUS-land 适用于屏幕方向为横向且语言为美式英语的设备。
  • 这些限定符必须遵循上面表 中列出的顺序。
错误:drawable-hdpi-port
正确:drawable-port-hdpi
  • 不得嵌套备用资源目录。例如,您的目录不能为 res/drawable/drawable-en/。
  • 值不区分大小写。
  • 每种限定符类型仅支持一个值。
错误:drawable-es-fr
正确:drawable-es 和 drawable-fr

google网站

六、 推荐阅读

Java 专栏

SQL 专栏

数据结构与算法

Android学习专栏

Android 应用资源概览,Android基础,android文章来源地址https://www.toymoban.com/news/detail-751907.html

到了这里,关于Android 应用资源概览的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android NDK开发详解之调试和性能分析的系统跟踪概览

    “系统跟踪”就是记录短时间内的设备活动。系统跟踪会生成跟踪文件,该文件可用于生成系统报告。此报告有助于您了解如何最有效地提升应用或游戏的性能。 有关进行跟踪和性能分析的全面介绍,请参阅 Perfetto 文档中的跟踪 101 页面。 Android 平台提供了多种不同的跟踪记

    2024年02月06日
    浏览(50)
  • Android应用开发入门:从Android Studio环境设置到Java编程基础

    目录 介绍 步骤一:设置Android Studio环境 步骤二:了解Android Studio界面

    2024年02月13日
    浏览(47)
  • 《Android 移动应用基础教程(Android Studio)(第2版)》【学习笔记】【2023春】【附源码】

    《Android 移动应用基础教程(Android Studio)(第2版)》黑马程序员 源代码 Android——六大基本布局总结/CSDN@小马 同学 【Android】线性布局(LinearLayout)最全解析/CSDN@Teacher.Hu 一个不错的计算器界面👇 Android Studio App LinearLayout多层布局嵌套/CSDN@pythontojava 一个简单的布局👇 Andro

    2024年02月01日
    浏览(56)
  • Android APP OpenGL ES应用(01)GLSurfaceView 2D/3D绘图基础

    OpenGL本身是开放图形库的一种标准,定义了一个跨语言、跨平台的编程规范,主要用于3D图形编程。OpenGLES是OpenGL的裁剪版本,主要是针对嵌入式设备/移动设备 (像手机、游戏机这种等等。。。) 进行裁剪后的库。对于Android设备来说主要是用OpenGL ES。从初学者角度来讲 Ope

    2023年04月20日
    浏览(44)
  • Android 字体资源

    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 未经允许不得转载 我们继续总结学习 Android 基础知识 ,温故知新。 本文讲述字体相关知识。 字体资

    2024年02月05日
    浏览(38)
  • Android车载应用系统开发入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

    众所周知,国内的安卓市场内卷极其严重,原生应用开发可谓是寸步难行,但整个Android生态却无比繁荣,手机、平板、电视、音视频等等,特别是在智能汽车+电动汽车的浪潮下,车载行业成为许多Android人竞相奔走的行业, 薪资待遇以及岗位招聘呈上涨趋势 。 对于涉事多年

    2024年02月09日
    浏览(56)
  • Android 反编译APK获取代码&资源

    \\\"反编译Apk\\\",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件;不知道你有没有这样做过,看到一个别人的一个APP界面做得很精美,或者你看上别人的图片素材,简单点的,我们可以

    2024年02月10日
    浏览(45)
  • Android 实现资源国际化(多语言)

    目录 一、介绍 二、字符串资源 三、图片资源 四、日期和时间格式 五、其他 六、应用内切换语言 七、资源文件命名规则         Android国际化(多语言)是一种开发技术,旨在使Android应用程序能够在 「不同语言和文化环境」 下运行,并为用户提供本地化的体验。这是为了

    2024年02月04日
    浏览(46)
  • android resoure资源图片颜色值错乱

    最近androidstudio开发,添加一些颜色值或者drawable资源文件时,运行app,颜色值或者图片对应不上,暂时找不到原因,望告知。 暂时解决方法:  

    2024年02月12日
    浏览(34)
  • 基于android的资源文件管理器

    软 件 学 院 毕业实训报告 课题名称: android资源管理器 专 业: 软件设计(游戏开发方向) 班 级: 学 号: 学生姓名: 指导教师: 年 月 日 相信大家对Android的发展历史多少都有一些了解,Android曾经是一家创立于旧金山的公司的名字,该公司于2005年8月份被Google收购,并从

    2024年02月06日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包