39、Android編寫應用-使用Resource Manager管理應用的界面資源

使用 Resource Manager 管理應用的界面資源

Resource Manager 是一個用於導入、創建、管理和使用應用資源的工具窗口。您可以通過以下方式打開該工具窗口:從菜單欄中依次選擇 View > Tool Windows > Resource Manager,或在左側欄中選擇 Resource Manager

圖 1:Resource Manager

 

  1. 點擊 Add 圖標  可向項目添加新的資源。您可以添加圖像資源、矢量資源、字體、資源文件和值,也可以將資源導入到項目中。
  2. 通過模塊下拉列表,您可以查看某個模塊的專屬資源。
  3. 使用搜索欄在項目的所有模塊中搜索資源。
  4. Resource Manager 按類型對資源進行分組。使用這些標籤頁可在各種資源類型之間切換。點擊溢出圖標 溢出圖標 可顯示其他資源類型。
  5. 使用過濾器按鈕,可以查看來自本地依賴模塊、外部庫和 Android 框架的資源。您還可以使用該過濾器來顯示主題背景屬性。
  6. 主要內容區域會顯示資源的預覽效果。右鍵點擊某項資源可打開上下文菜單,您可以通過該菜單重命名資源、在應用中搜索使用了該資源的位置,以及執行其他操作。
  7. 點擊這些按鈕能夠以圖塊或列表形式列出資源。
  8. 點擊這些按鈕可更改資源的預覽大小。

除了上面提到的功能之外,Resource Manager 還提供了一種將可繪製對象批量導入項目中的簡單方法。您可以將圖片文件(包括 SVG 文件)直接拖放到 Resource Manager 中,也可以使用 Import Drawables 嚮導。如需瞭解詳情,請參閱下面的將資源導入項目中部分。

雙擊某項資源可在 Resource Manager 中查看更詳細的信息。如果某項資源有多個版本,此詳細視圖將顯示每個版本以及所有關聯的限定符,如圖 2 所示。您還可以在此視圖中雙擊特定版本以在編輯器窗口中打開它。

圖 2:顯示適用於不同屏幕密度的圖片資源版本的 Resource Manager

 

將可繪製對象導入項目中

您可以將資源文件或文件夾直接拖放到 Resource Manager 中,導入圖片資源。將這些資源放入 Resource Manager 中後,系統會顯示 Import drawables 對話框,您可以在其中查看這些資源的摘要並在導入之前添加任何所需的限定符。

注意:要查看支持的圖片類型的列表,請參閱支持的媒體格式

要將圖片資源導入項目中,請執行以下操作:

  1. 將圖片直接拖放到 Android Studio 的 Resource Manager 窗口中。或者,您也可以點擊加號圖標 (+),選擇 Import Drawables,如圖 3 所示,然後選擇要導入的文件和文件夾。

    圖 3:從下拉菜單中選擇 Import Drawables

     

  2. 系統會顯示 Import drawables 對話框。如圖 4 所示,此對話框顯示了您要導入的資源列表。您可以通過點擊每個資源預覽上方的文本框來重命名資源。

    如果您要提供同一資源的多個版本,請務必添加設備配置限定符,以描述資源支持的特定配置。例如,如果您要爲同一資源提供適用於不同屏幕密度的多個版本,則可以爲每個版本添加一個 Density 限定符。請注意,如果兩項或多項資源具有相同的名稱和限定符,則僅導入一個版本。如需詳細瞭解資源限定符,請參閱提供備用資源

    圖 4Import Drawables 對話框

    爲資源命名並添加任何所需的限定符後,點擊 Next

  3. 下一個屏幕會顯示要導入的資源的摘要。準備好導入後,點擊 Import

在 Resource Manager 窗口中,您的資源現在已可供您在項目中使用了,如圖 5 所示。

圖 5:Resource Manager 現在顯示您導入的圖片

 

自動解析可繪製對象的密度

當您導入文件或文件夾時,如果其路徑包含密度限定符,Resource Manager 會自動在導入過程中應用密度限定符。Resource Manager 可以解析 Android 的密度限定符和 iOS 的縮放比例。

下表列出了受支持的不同密度在 Android 和 iOS 系統中的表示方法:

密度 Android 密度限定符 iOS 縮放比例
低密度(約 120dpi) ldpi 不支持
中密度(約 160dpi) mdpi 原始縮放
高密度(約 240dpi) hdpi 不支持
超高密度(約 320dpi) xhdpi @2x
超超高密度(約 480dpi) xxhdpi @3x
超超超高密度(約 640dpi) 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

如需詳細瞭解如何支持不同的設備像素密度,請參閱支持不同的像素密度

將可繪製對象拖放到佈局中

您可以將可繪製對象從 Resource Manager 直接拖放到佈局中。將資源放到佈局上時,Resource Manager 會爲該可繪製對象創建相應的 ImageView,如動畫 1 所示:

動畫 1:將可繪製對象拖放到 Design 視圖中的佈局上

您也可以直接拖放到佈局的 XML 上,如動畫 2 所示:

動畫 2:將可繪製對象拖放到 Text 視圖中的佈局上

將可繪製對象放到 Text 標籤頁中的佈局上時,生成的代碼會根據放置佈局的位置而有所不同:

  • 如果將可繪製對象放到空白區域,Resource Manager 會生成相應的 ImageView
  • 如果您將可繪製對象放到佈局 XML 中的任何屬性上,Resource Manager 會將該屬性值替換爲對該可繪製對象的引用。請注意,您還可以將任何其他資源類型拖放到 XML 屬性上以替換屬性值。
  • 如果將可繪製對象放到現有的 ImageView 元素上,Resource Manager 會替換相應的源代碼屬性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章