资源管理器是一个工具窗口,用于在应用中导入、创建、管理和使用资源。要打开此工具窗口,请从菜单中依次选择 View > Tool Windows > Resource Manager,或在左侧边栏中选择 Resource Manager。
图 1. 资源管理器工具窗口。
- 点击添加
,为您的项目添加新资源。您可以添加图片资源、矢量资源、字体或资源文件和值,也可以将可绘制对象导入到您的项目。
- 选择一个模块以查看该模块特有的资源。
- 使用搜索栏搜索项目中所有模块的资源。
- 在资源管理器中,根据类型显示您的资源。使用这些标签页可在资源类型之间切换。点击溢出图标
可显示其他资源类型。
- 使用过滤按钮,过滤本地依赖模块、外部库和 Android 框架中显示的资源。您还可以使用该过滤功能显示主题属性。
- 在主内容区域预览您的资源。右键点击资源可查看上下文菜单,您可以在其中重命名资源并搜索应用中该资源的使用位置。
- 点击这些按钮可将您的资源显示为图块或列表。
- 点击这些按钮可更改资源的预览尺寸。
除了这些功能之外,资源管理器还提供了一种将可绘制对象批量导入到项目中的方法。要批量导入,您可以:
- 将图片文件(包括 SVG 文件)直接拖放到资源管理器中。
- 使用 Import Drawables 向导。
如需了解详情,请参阅将可绘制对象导入项目部分。
要查看更详细的信息,请双击资源管理器中的某个资源。如果您有某个资源的多个版本,此详细视图会显示每个版本及其任何相关限定符,如图 2 所示。在此处,您可以双击特定版本以在编辑器窗口中将其打开。
图 2. 资源管理器显示了针对不同屏幕密度的图片资源版本。
将可绘制对象导入项目
您可以使用资源管理器将图片资源导入到您的项目。如需了解支持的图片类型列表,请参阅图片支持。
要将图片资源导入到您的项目,请执行以下操作:
将图片直接拖放到 Android Studio 的 Resource Manager 窗口中。
- 或者,您可以:
- 点击加号图标 (+)。
- 选择 Import Drawables,如图 3 所示。
- 选择您要导入的文件和文件夹。
图 3. 从菜单中选择 Import Drawables。
- 或者,您可以:
系统会显示 Import drawables 对话框,如图 4 所示。此对话框会显示您正在导入的资源列表。您可以通过点击资源预览上方的文本框来重命名资源。
如果您要提供同一资源的多个版本,请添加设备配置限定符(如下一节所述),以描述每个资源支持的特定配置。
例如,如果您要为不同的屏幕密度提供同一资源的多个版本,则可以为每个版本添加一个 Density 限定符。请注意,如果两个或更多资源具有相同的名称和限定符,则只导入一个版本。
如需详细了解资源限定符,请参阅提供备用资源。
图 4. Import drawables 对话框。
为资源命名并添加任何必要的限定符后,点击 Next。
下一个屏幕会显示您正在导入的资源的摘要。准备好导入时,点击 Import。
在 Resource Manager 窗口中,您的资源现在已可供您在项目中使用,如图 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. 在 Design 视图中将可绘制对象拖放到布局上。
您还可以直接拖放到布局的 XML 上,如动画 2 所示:
动画 2. 在 Text 视图中将可绘制对象拖放到布局上。
在 Text 标签页中将可绘制对象拖放到布局上时,生成的代码会因您在布局中放置可绘制对象的位置而异:
- 如果您将可绘制对象拖放到空白区域,资源管理器会生成一个相应的
ImageView
。 - 如果您将可绘制对象拖放到布局 XML 中的任何属性上,资源管理器会将该属性值替换为对可绘制对象的引用。您还可以将任何其他资源类型拖放到 XML 属性上,以替换属性值。
- 如果您将可绘制对象拖放到现有
ImageView
元素上,资源管理器会替换相应的源属性。