我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android 应用资源概览

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android 应用资源概览

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

在这里插入图片描述

一、导读

我们继续总结学习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-hdpidrawable-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学习专栏

ddd

来源地址:https://blog.csdn.net/fumeidonga/article/details/134758263

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android 应用资源概览

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 应用资源概览

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、资源类型分组四、配置限定符
Android 应用资源概览
2023-12-22

Android应用中是如何读取资源文件的

这篇文章给大家介绍Android应用中是如何读取资源文件的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android 读取资源文件实例详解直接从assets读取:/** * 得到Assets里面相应的文件流 * *
2023-05-31

Android中drawable使用Shape资源

本文实例为大家分享了drawable使用Shape资源的具体内容,供大家参考,具体内容如下 1.画一条水平方向的虚线 2022-06-06

android开发教程之系统资源的使用方法 android资源文件

一、颜色资源1、颜色XML文件格式 代码如下: //resources根元素 #000000
2022-06-06

Android中如何使用Drawbl资源

这篇文章将为大家详细讲解有关Android中如何使用Drawbl资源,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Drawble是Android应用中使用最灵活,也是最广泛的资源,不仅可以直
2023-06-04

ChatGPT 教程&资源&应用大全

1 如何注册 ChatGPT 账号2 如何升级 ChatGPT plus 账号 体验 GPT-43 如何下载 ChatGPT 各种客户端4 15个 ChatGPT Chrome 插件5
2023-05-19

开发Android平板应用你所需要的开发资源

谷歌Nexus 7和Nexus 10的推出,为原本混乱不堪的Android平板市场带来了一个统领者。相比手机,平板电脑的大屏幕更适合运行应用和玩游戏,如果你已经为Android手机开发了一些应用,现在是时候考虑移植到平板电脑上了。谷歌在An
2022-06-06

Android使用getIdentifier()获取资源Id的方法

本文实例讲述了Android使用getIdentifier()获取资源Id的方法。分享给大家供大家参考,具体如下:int i= getResources().getIdentifier("icon", "drawable", getPack
2022-06-06

Android 原始资源文件的使用详解

背景知识介绍与其他平台的应用程序一样,Android中的应用程序也会使用各种资源,比如图片,字串等,会把它们放入源码的相应文件夹下面,如/res/drawable, /res/xml, /res/values/, /res/raw, /re
2022-06-06

Android中资源文件用法简单示例

本文实例讲述了Android中资源文件用法。分享给大家供大家参考,具体如下: 一、XML文件间资源文件的使用 引用格式:attribute="@[packagename:]resourcetype/resourceidentifier"ex
2022-06-06

Docker助力Linux应用提升资源利用率

Docker通过其容器化技术,确实能够助力Linux应用提升资源利用率。以下是Docker如何实现这一目标的相关信息:Docker如何助力提升资源利用率资源隔离:Docker使用Linux的cgroups技术来隔离容器的资源,如CPU、内
Docker助力Linux应用提升资源利用率
2024-10-07

Android使用URL读取网络资源的方法

URL(Uniform Resource Locator)是统一资源定位器,它是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览
2023-05-30

Java中怎么读取WEB应用中的资源

今天就跟大家聊聊有关Java中怎么读取WEB应用中的资源,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。问题:前几天,碰到了需要从web应用读取文件内容的问题。一般的,配置文件都放在工
2023-06-17

Android中使用ContentProvider管理系统资源的实例

ContentProvider管理联系人的实例:package com.android.xiong.getsystemcontentprovidertest; import java.util.ArrayList; import and
2022-06-06

使用Windows 7资源管理器的预览窗格的方法

自Windows7推出之后,大家发现它给大家带来了很多新功能和新特性。在Windows7系统中,微软对资源管理器进行了很多改进,并赋予了更多新颖有趣的功能,操作更便利,在Windows7资源管理器中,在窗口左侧的列表区,包含收藏夹、库、家庭
2023-05-26

Android 资源加载使用伪代码示例分析

这篇文章主要为大家介绍了Android 资源加载使用伪代码示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

Android开发之资源文件用法实例总结

本文实例总结了Android开发之资源文件用法。分享给大家供大家参考,具体如下: 这里记录在Android开发中经常用到的一些用法 arrays.xml定义数组 例:
2022-06-06

Android中ImageView使用网络图片资源的方法

本文实例讲述了Android中ImageView使用网络图片资源的方法。分享给大家供大家参考。具体如下: 很多时候我们不想把东西都放在APK里面,或者是不能放进去,这时候我们就需要万能的网路帮助自己实现了 运行效果截图如下:java代码如下
2022-06-06

50个安卓开发者应该熟悉的Android Studio技巧和资源

本文列举出一些可以提高整体效率的Android Studio技巧和资源。 显然有太多太多这方面的东西,但是为了文章的简洁性,我把它限制在50个以内,希望你能喜欢! 视觉效果 1. Android Logcat的Material颜色主题。 要
2022-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录