资源管理器是一个工具窗口,用于导入、创建、管理和使用应用中的资源。要打开工具窗口,请从菜单中选择**查看 > 工具窗口 > 资源管理器**,或选择左侧边栏中的**资源管理器**。
图 1. 资源管理器工具窗口。
- 单击添加 将新资源添加到您的项目中。您可以添加图片资产、矢量资产、字体或资源文件和值,也可以导入可绘制对象到您的项目中。
- 选择一个模块以查看特定于该模块的资源。
- 使用搜索栏在项目中的所有模块中搜索资源。
- 根据类型在资源管理器中显示您的资源。使用这些选项卡在资源类型之间切换。单击溢出图标 以显示其他资源类型。
- 使用过滤器按钮从本地依赖模块、外部库和 Android 框架中过滤显示的资源。您也可以使用过滤器来显示主题属性。
- 在主内容区域预览您的资源。右键单击资源以查看上下文菜单,您可以在其中重命名资源并在您的应用程序中搜索资源的使用位置。
- 单击这些按钮以将您的资源显示为图块或列表。
- 单击这些按钮以更改资源的预览大小。
除了这些功能外,资源管理器还提供了一种将可绘制对象批量导入到项目中的方法。要批量导入,您可以:
- 将您的图像文件(包括 SVG 文件)直接拖放到资源管理器。
- 使用**导入可绘制对象**向导。
有关更多信息,请参阅将可绘制对象导入项目部分。
要查看更详细的信息,请双击资源管理器中的资源。如果您有多个版本的资源,此详细视图将显示每个版本以及任何关联的限定符,如图 2 所示。从这里,您可以双击特定版本以在编辑器窗口中打开它。
图 2.资源管理器显示不同屏幕密度的图像资源的版本。
将可绘制对象导入项目
您可以使用资源管理器将图像资源导入到项目中。有关支持的图像类型列表,请参阅图像支持。
要将图像资源导入到项目中,请执行以下操作:
将您的图像直接拖放到 Android Studio 中的**资源管理器**窗口。
- 或者,您可以:
- 单击加号图标 (**+**)。
- 选择**导入可绘制对象**,如图 3 所示。
- 选择您要导入的文件和文件夹。
图 3.从菜单中选择**导入可绘制对象**。
- 或者,您可以:
将显示**导入可绘制对象**对话框,如图 4 所示。该对话框显示您要导入的资源列表。您可以通过单击资源预览上方的文本框来重命名资源。
如果您提供了同一资源的多个版本,请添加设备配置限定符(如下一节所述),以描述每个资源支持的特定配置。
例如,如果您为不同屏幕密度提供了同一资源的多个版本,则可以为每个版本添加**密度**限定符。请注意,如果两个或多个资源具有相同的名称和限定符,则只导入一个版本。
有关资源限定符的更多信息,请参阅提供备用资源。
图 4.**导入可绘制对象**对话框。
命名资源并添加所有必要的限定符后,单击**下一步**。
下一屏将显示您要导入的资源的摘要。准备导入时,单击**导入**。
在**资源管理器**窗口中,您的资源现在已准备好在项目中使用,如图 5 所示。
图 5.资源管理器现在显示您的导入图像。
自动解析可绘制对象密度
当您导入文件或文件夹,并且其路径包含密度限定符时,资源管理器会自动将密度限定符作为导入的一部分应用。资源管理器可以解析 Android 的密度限定符和 iOS 的缩放因子。
此表列出了 Android 和 iOS 如何表示不同的支持密度
密度 | Android 密度限定符 | iOS 缩放因子 |
---|---|---|
低密度 (~120 dpi) | ldpi |
不支持 |
中等密度 (~160 dpi) | mdpi |
原始比例 |
高密度 (~240 dpi) | hdpi |
不支持 |
超高密度 (~320 dpi) | xhdpi |
@2x |
超超高密度 (~480 dpi) | xxhdpi |
@3x |
超超超高密度 (~640 dpi) | xxxhdpi |
@4x |
以下是一些输入路径如何转换为导入后资源路径的示例
- Android 密度限定符:
hdpi
- 输入路径: /UserFolder/icon1/hdpi/icon.png
资源路径: <projectFolder>/<moduleFolder> /src/main/res/drawable-hdpi/icon.png - Android 密度限定符:
xxhdpi
- 输入路径: /UserFolder/icon1/abc-xxhdpi/icon.png
资源路径: <projectFolder>/<moduleFolder> /src/main/res/drawable-xxhdpi/icon.png - iOS 缩放因子:@2x
- 输入路径: /UserFolder/icon1/icon@2x.png
资源路径: <projectFolder>/<moduleFolder> /src/main/res/drawable-xhdpi/icon.png - iOS 缩放因子:@2x
- 输入路径: /UserFolder/icon1/icon@2x_alternate.png
资源路径: <projectFolder>/<moduleFolder> /src/main/res/drawable-xhdpi/icon_alternate.png
有关支持不同像素密度的设备的更多信息,请参阅支持不同的像素密度。
将可绘制对象拖放到布局中
您可以将可绘制对象从资源管理器直接拖放到布局中。将资源拖放到布局时,资源管理器会为该可绘制对象创建一个相应的 ImageView
,如动画 1 所示
动画 1. 将可绘制对象拖放到**设计**视图中的布局。
您也可以直接拖放到布局的 XML 上,如动画 2 所示
动画 2. 将可绘制对象拖放到**文本**视图中的布局。
将可绘制对象拖放到**文本**选项卡中的布局时,生成的代码会因您在布局中放置可绘制对象的位置而异
- 如果您将可绘制对象拖放到空白区域,资源管理器会生成一个相应的
ImageView
。 - 如果您将可绘制对象拖放到布局 XML 中的任何属性上,资源管理器会将该属性值替换为对可绘制对象的引用。您也可以将任何其他资源类型拖放到 XML 属性上,以替换属性值。
- 如果您将可绘制对象拖放到现有的
ImageView
元素上,资源管理器会替换相应的源属性。