Zarządzaj zasobami interfejsu aplikacji za pomocą Menedżera zasobów

Menedżer zasobów to okno narzędziowe, które umożliwia importowanie, tworzenie, zarządzanie i używanie zasobów w aplikacji. Aby otworzyć to okno, w menu kliknij View (Widok) > Tool Windows (Okna narzędziowe) > Resource Manager (Menedżer zasobów) lub wybierz Resource Manager (Menedżer zasobów) na pasku bocznym po lewej stronie.

Rysunek 1. Okno narzędzia Resource Manager.

  1. Kliknij Dodaj , aby dodać nowy zasób do projektu. Możesz dodać komponenty z obrazami, komponenty wektorowe komponenty, czcionki lub pliki i wartości zasobów albo możesz zaimportować elementy rysowalne do projektu.
  2. Wybierz moduł, aby wyświetlić zasoby charakterystyczne dla tego modułu.
  3. Wyszukaj zasób we wszystkich modułach projektu za pomocą paska wyszukiwania.
  4. Wyświetl zasoby według typu w Resource Managerze. Użyj tych kart, aby przełączać się między typami zasobów. Kliknij ikonę przepełnienia ikona rozwijania , aby wyświetlić dodatkowe typy zasobów.
  5. Filtruj wyświetlane zasoby z lokalnych modułów zależnych, bibliotek zewnętrznych i platformy Android za pomocą przycisku filtra. Możesz też użyć filtra, aby wyświetlić atrybuty motywu.
  6. Wyświetl podgląd zasobów w głównym obszarze treści. Kliknij zasób prawym przyciskiem myszy, aby wyświetlić menu kontekstowe, w którym możesz zmienić nazwę zasobu i wyszukać w aplikacji miejsca, w których jest on używany.
  7. Kliknij te przyciski, aby wyświetlić zasoby jako kafelki lub listy.
  8. Kliknij te przyciski, aby zmienić rozmiar podglądu zasobów.

Oprócz tych funkcji Resource Manager umożliwia zbiorcze importowanie obiektów rysowalnych do projektu. Aby zaimportować zbiorczo, możesz:

  • Przeciągnij pliki graficzne — w tym pliki SVG — bezpośrednio do Menedżera zasobów.
  • użyć kreatora Import Drawables (Importuj elementy rysowalne).

Więcej informacji znajdziesz w sekcji Importowanie elementów rysowalnych do projektu.

Aby wyświetlić bardziej szczegółowe informacje, kliknij dwukrotnie zasób w Menedżerze zasobów. Jeśli masz kilka wersji zasobu, w tym widoku szczegółowym wyświetli się każda wersja wraz z powiązanymi kwalifikatorami, jak pokazano na rysunku 2. Możesz kliknąć dwukrotnie konkretną wersję, aby otworzyć ją w oknie edytora.

Rysunek 2. Menedżer zasobów wyświetla wersje zasobu graficznego dla różnych gęstości ekranu.

Importowanie elementów rysowalnych do projektu

Za pomocą Resource Managera możesz importować zasoby graficzne do projektu. Listę obsługiwanych typów obrazów znajdziesz w sekcji Obsługa obrazów.

Aby zaimportować zasoby graficzne do projektu:

  1. Przeciągnij obrazy bezpośrednio do okna Resource Manager (Menedżer zasobów) w Android Studio.

    • Możesz też:
      1. Kliknąć ikonę plusa (+).
      2. Wybrać Import Drawables (Importuj elementy rysowalne), jak pokazano na rysunku 3.
      3. Wybrać pliki i foldery, które chcesz zaimportować.

    Rysunek 3. Wybierz Import Drawables (Importuj elementy rysowalne) z menu.

  2. Pojawi się okno Import drawables (Importuj elementy rysowalne), jak pokazano na rysunku 4. W tym oknie wyświetla się lista importowanych zasobów. Możesz zmienić nazwy zasobów, klikając pole nad podglądem zasobu.

    Jeśli udostępniasz kilka wersji tego samego zasobu, dodaj kwalifikatory konfiguracji urządzenia, które opisują konkretną konfigurację obsługiwaną przez każdy zasób. Zrobisz to w sposób opisany w następnej sekcji.

    Jeśli na przykład udostępniasz kilka wersji tego samego zasobu dla różnych gęstości ekranu, możesz dodać kwalifikator Density (Gęstość) dla każdej wersji. Pamiętaj, że jeśli 2 lub więcej zasobów ma tę samą nazwę i kwalifikatory, importowana jest tylko 1 wersja.

    Więcej informacji o kwalifikatorach zasobów znajdziesz w artykule Udostępnianie zasobów alternatywnych.

    Rysunek 4. Okno Import drawables (Importuj elementy rysowalne).

    Gdy nadasz nazwy zasobom i dodasz niezbędne kwalifikatory, kliknij Next (Dalej).

  3. Na następnym ekranie zobaczysz podsumowanie importowanych zasobów. Gdy wszystko będzie gotowe do importu, kliknij Import (Importuj).

W oknie Resource Manager (Menedżer zasobów) zasoby są teraz gotowe do użycia w projekcie, jak pokazano na rysunku 5.

Rysunek 5. Resource Manager wyświetla teraz zaimportowane obrazy.

Automatyczne analizowanie gęstości elementów rysowalnych

Gdy importujesz plik lub folder, a jego ścieżka zawiera kwalifikator gęstości, Resource Manager automatycznie stosuje ten kwalifikator podczas importu. Resource Manager może analizować zarówno kwalifikatory gęstości Androida, jak i współczynniki skalowania iOS.

W tej tabeli znajdziesz informacje o tym, jak różne obsługiwane gęstości są reprezentowane w Androidzie i iOS:

Gęstość Kwalifikator gęstości Androida Współczynnik skalowania iOS
Niska gęstość (~120 dpi) ldpi nieobsługiwane
Średnia gęstość (~160 dpi) mdpi skala oryginalna
Wysoka gęstość (~240 dpi) hdpi nieobsługiwane
Bardzo wysoka gęstość (~320 dpi) xhdpi @2x
Ekstremalnie wysoka gęstość (~480 dpi) xxhdpi @3x
Niesamowicie wysoka gęstość (~640 dpi) xxxhdpi @4x

Oto kilka przykładów tego, jak ścieżki wejściowe są przekształcane w ścieżki zasobów po imporcie:

Kwalifikator gęstości Androida: hdpi
Ścieżka wejściowa: /UserFolder/icon1/hdpi/icon.png
Ścieżka zasobu: <projectFolder>/<moduleFolder> /src/main/res/drawable-hdpi/icon.png
Kwalifikator gęstości Androida: xxhdpi
Ścieżka wejściowa: /UserFolder/icon1/abc-xxhdpi/icon.png
Ścieżka zasobu: <projectFolder>/<moduleFolder> /src/main/res/drawable-xxhdpi/icon.png
Współczynnik skalowania iOS: @2x
Ścieżka wejściowa: /UserFolder/icon1/icon@2x.png
Ścieżka zasobu: <projectFolder>/<moduleFolder> /src/main/res/drawable-xhdpi/icon.png
Współczynnik skalowania iOS: @2x
Ścieżka wejściowa: /UserFolder/icon1/icon@2x_alternate.png
Ścieżka zasobu: <projectFolder>/<moduleFolder> /src/main/res/drawable-xhdpi/icon_alternate.png

Więcej informacji o obsłudze urządzeń o różnej gęstości pikseli znajdziesz w artykule Obsługa różnych gęstości pikseli.

Używanie zasobów w Jetpack Compose

Podczas tworzenia aplikacji za pomocą Jetpack Compose możesz uzyskiwać dostęp do zasobów bezpośrednio z kodu Kotlin za pomocą zoptymalizowanych interfejsów API, co zapewnia synchronizację logiki interfejsu i odwołań do zasobów.

  • Obrazy: użyj painterResource(id = R.drawable.your_image) w komponencie Image.
  • Ciągi: użyj stringResource(id = R.string.your_string), aby pobrać zlokalizowany tekst interfejsu.
  • Kolory: użyj colorResource(id = R.color.your_color), aby zastosować kolory zdefiniowane w motywie.

Menedżer zasobów dba o to, aby te identyfikatory były generowane prawidłowo, co pozwala bezproblemowo odwoływać się do zasobów z hierarchii interfejsu Compose.

Więcej informacji o zaawansowanej obsłudze zasobów, w tym o dynamicznym wczytywaniu czcionek, zasobach specyficznych dla konfiguracji i bibliotekach zasobów specyficznych dla Compose, znajdziesz w dokumentacji Zasoby w Compose.

Dodatkowe materiały

Wyświetlanie treści