Resource Manager 工具
前一小節(jié)我們介紹了 Android 的應用資源相關的知識,本小結(jié)我們學習如何使用 Resource Manager 管理應用的界面資源。
1. Resource Manager
Resource Manager 是一個用于導入、創(chuàng)建、管理和使用應用資源的工具窗口。
我們可以通過以下兩種方式打開該工具窗口:
-
從菜單欄中依次選擇 View > Tool Windows > Resource Manager;
-
在左側(cè)欄中選擇 Resource Manager。
Resource Manager 工具窗口的主體界面如下圖:
-
點擊 Add 可向項目添加新的資源。我們可以添加圖像資源、矢量資源、字體、資源文件和值,也可以將資源導入到項目中;
-
通過模塊下拉列表,我們可以查看某個模塊的專屬資源;
-
使用搜索欄在項目的所有模塊中搜索資源;
-
Resource Manager 按類型對資源進行分組。使用這些標簽頁可在各種資源類型之間切換;
-
使用過濾器按鈕,可以查看來自本地依賴模塊、外部庫和 Android 框架的資源;
-
主要內(nèi)容區(qū)域會顯示資源的預覽效果。右鍵點擊某項資源可打開上下文菜單,我們可以通過該菜單重命名資源、在應用中搜索使用了該資源的位置,以及執(zhí)行其他操作;
-
點擊這些按鈕能夠以圖塊或列表形式列出資源;
-
點擊這些按鈕可更改資源的預覽大小。
除了上面提到的功能之外,Resource Manager 還提供了一種將可繪制對象批量導入項目中的簡單方法。我們可以將圖片文件(包括 SVG 文件)直接拖放到 Resource Manager 中,也可以使用 Import Drawables 向?qū)А?/p>
雙擊某項資源可在 Resource Manager 中查看更詳細的信息。如果某項資源有多個版本,此詳細視圖將顯示每個版本以及所有關聯(lián)的限定符,我們還可以在此視圖中雙擊特定版本以在編輯器窗口中打開它。
Tips:上圖中顯示適用于不同屏幕密度的圖片資源版本。
2. 可繪制對象導入項目
2.1 導入可繪制對象
我們可以將資源文件或文件夾直接拖放到 Resource Manager 中,導入圖片資源。將這些資源放入 Resource Manager 中后,系統(tǒng)會顯示 Import drawables 對話框,我們可以在其中查看這些資源的摘要并在導入之前添加任何所需的限定符。
要將圖片資源導入項目中,請執(zhí)行以下操作:
將圖片直接拖放到 Android Studio 的 Resource Manager 窗口中?;蛘撸覀円部梢渣c擊加號圖標 (+),選擇 Import Drawables,然后選擇要導入的文件和文件夾。
系統(tǒng)會顯示 Import drawables 對話框。此對話框顯示了我們要導入的資源列表。我們可以通過點擊每個資源預覽上方的文本框來重命名資源。
如果我們要提供同一資源的多個版本,請務必添加設備配置限定符,以描述資源支持的特定配置。例如,如果要為同一資源提供適用于不同屏幕密度的多個版本,則可以為每個版本添加一個 Density 限定符。請注意,如果兩項或多項資源具有相同的名稱和限定符,則僅導入一個版本。
為資源命名并添加任何所需的限定符后,點擊 Next。
下一個屏幕會顯示要導入的資源的摘要。準備好導入后,點擊 Import。在 Resource Manager 窗口中,我們的資源現(xiàn)在已可供我們在項目中使用了。
2.2 自動解析密度
當我們導入文件或文件夾時,如果其路徑包含密度限定符,Resource Manager 會自動在導入過程中應用密度限定符。下表列出了受支持的不同密度在 Android 系統(tǒng)中的表示方法:
密度 | Android 密度限定符 |
---|---|
低密度(約 120dpi) | ldpi |
中密度(約 160dpi) | mdpi |
高密度(約 240dpi) | hdpi |
超高密度(約 320dpi) | xhdpi |
超超高密度(約 480dpi) | xxhdpi |
超超超高密度(約 640dpi) | xxxhdpi |
以下示例說明了導入后輸入路徑如何轉(zhuǎn)換為資源路徑:
-
Android 密度限定符:hdpi
輸入路徑:/UserFolder/icon1/hdpi/icon.png
資源路徑:< projectFolder >/< moduleFolder >/src/main/res/drawable-hdpi/icon.png -
Android 密度限定符:xhdpi
輸入路徑:/UserFolder/icon1/abc-xhdpi/icon.png
資源路徑:< projectFolder >/< moduleFolder >/src/main/res/drawable-xhdpi/icon.png -
Android 密度限定符:xxhdpi
輸入路徑:/UserFolder/icon1/abc-xxhdpi/icon.png
資源路徑:< projectFolder >/< moduleFolder >/src/main/res/drawable-xxhdpi/icon.png
3. 可繪制對象布局導入布局
我們可以將可繪制對象從 Resource Manager 直接拖放到布局中。將資源放到布局上時,Resource Manager 會為該可繪制對象創(chuàng)建相應的 ImageView,如下圖所示:
我們也可以直接拖放到布局的 XML 上,如下圖所示:
將可繪制對象放到 Text 標簽頁中的布局上時,生成的代碼會根據(jù)放置布局的位置而有所不同:
-
如果將可繪制對象放到空白區(qū)域,Resource Manager 會生成相應的 ImageView;
-
如果將可繪制對象放到布局 XML 中的任何屬性上,Resource Manager 會將該屬性值替換為對該可繪制對象的引用。請注意,我們還可以將任何其他資源類型拖放到 XML 屬性上以替換屬性值;
-
如果將可繪制對象放到現(xiàn)有的 ImageView 元素上,Resource Manager 會替換相應的源代碼屬性。
4. 小結(jié)
本節(jié)課程我們主要學習使用 Resource Manager 管理應用的界面資源。本節(jié)課程的重點如下:
- 掌握 Resource Manager 導入應用資源的方法;
- 掌握 Resource Manager 將資源導入布局的方法。