Migrowanie motywów XML do Material 3 w Compose

Gdy wprowadzisz Compose w dotychczasowej aplikacji, musisz przenieść motywy Material XML, aby używać MaterialTheme w komponentach Compose. Oznacza to, że motyw aplikacji będzie miał 2 źródła informacji: motyw oparty na widokach i motyw Compose. Wszelkie zmiany w stylu muszą być wprowadzane w wielu miejscach. Gdy aplikacja zostanie w pełni przeniesiona na Compose, usuń motywy XML.

Do przenoszenia kolorów możesz użyć Narzędzia do tworzenia motywów Material.

Gdy rozpoczniesz migrację z XML na Compose, przenieś motyw do motywu Compose Material 3.

Słowniczek

Termin Definicja
MaterialTheme Funkcja kompozycyjna, która zapewnia motywy (kolory, typografia, kształty) komponentom interfejsu Compose.
Shape Obiekt Compose używany do definiowania niestandardowych kształtów komponentów dla MaterialTheme.
Typography Obiekt Compose używany do definiowania niestandardowych stylów tekstu (rodzin czcionek, rozmiarów, grubości) dla elementu MaterialTheme.
Color Obiekt Compose używany do definiowania niestandardowych schematów kolorów dla elementu MaterialTheme.
Motyw XML System motywów Androida zdefiniowany w plikach XML, używany przez system View.

Ograniczenia

Przed migracją zapoznaj się z tymi ograniczeniami:

  • Ten przewodnik dotyczy tylko migracji do Material 3. Informacje o migracji z alternatywnych systemów projektowania znajdziesz w sekcjach Material 2Niestandardowe systemy projektowania w Compose.
  • Ostatecznym celem jest pełna migracja do Compose, która umożliwi usunięcie motywów XML. W tym przewodniku wyjaśniamy, jak przeprowadzić migrację, ale nie opisujemy, jak ostatecznie usunąć motywy XML.

Krok 1. Ocena systemu projektowania

Określ, którego systemu projektowania użyto w projekcie widoku XML. Przeanalizuj ścieżkę migracji i niezbędne kroki, aby przenieść istniejący system projektowania do Material 3 w Compose.

Krok 2. Zidentyfikuj pliki źródłowe motywu

Zidentyfikuj i zlokalizuj wszystkie zasoby i pliki XML niezbędne do tworzenia motywów: jasne i ciemne schematy kolorów, motywy, kształty, wymiary, typografia, style i inne odpowiednie pliki.

Zasoby takie jak ciągi znaków można ponownie wykorzystać w dotychczasowej formie i nie trzeba ich przenosić.

Krok 3. Przenieś kolory

Przenieś schematy kolorów jasnych i ciemnych z XML na ich odpowiedniki w Material 3 Compose.

Krok 4. Przenieś niestandardowe kształty i typografię

  • Jeśli Twoja aplikacja używa kształtów niestandardowych:

    1. W kodzie Compose zdefiniuj obiekt Shape, aby odtworzyć definicje kształtu XML.
    2. Przekaż ten obiekt Shape do MaterialTheme.

      Więcej informacji znajdziesz w artykule Kształty.

  • Jeśli Twoja aplikacja korzysta z niestandardowej typografii:

    1. W kodzie Compose zdefiniuj obiekt Typography, aby odtworzyć style tekstu XML i definicje czcionek.
    2. Przekaż ten obiekt Typography do MaterialTheme.

      Więcej informacji znajdziesz w sekcji typografia.

Krok 5. Sprawdź poprawność migracji motywu

Zawsze używaj istniejących wartości motywu z oryginalnego motywu XML jako źródła informacji o nowym motywie Material w Compose. Podczas migracji nigdy nie twórz nowych wartości motywu, aby zachować spójność marki i uniknąć regresji wizualnych.

Sprawdź, czy wszystkie nowe wartości motywu Compose są zgodne z dotychczasowymi wartościami XML. Nie koduj na stałe żadnych przeniesionych wartości.