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 2 i Niestandardowe 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:
- W kodzie Compose zdefiniuj obiekt
Shape, aby odtworzyć definicje kształtu XML. Przekaż ten obiekt
ShapedoMaterialTheme.Więcej informacji znajdziesz w artykule Kształty.
- W kodzie Compose zdefiniuj obiekt
Jeśli Twoja aplikacja korzysta z niestandardowej typografii:
- W kodzie Compose zdefiniuj obiekt
Typography, aby odtworzyć style tekstu XML i definicje czcionek. Przekaż ten obiekt
TypographydoMaterialTheme.Więcej informacji znajdziesz w sekcji typografia.
- W kodzie Compose zdefiniuj obiekt
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.