Tworzenie materiału 3 z adaptacją

  
Korzystaj z biblioteki adaptacyjnej Material 3, aby tworzyć interfejsy adaptacyjne, które będą się automatycznie dostosowywać do bieżących konfiguracji okna, takich jak klasy rozmiarów okien czy postawy urządzenia. Biblioteka zawiera zarówno domyślne implementacje szkieletu, jak i niezbędne elementy składowe, które umożliwiają tworzenie własnych niestandardowych rozwiązań.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
13 listopada 2024 r. 1.0.0 - - 1.1.0-alpha07

Deklarowanie zależności

Aby dodać zależność od compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle aplikacji lub modułu:

Odlotowe

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Compose Material3 Adaptive Version 1.1

Wersja 1.1.0-alpha07

13 listopada 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 został zwolniony. Wersja 1.1.0-alpha07 zawiera te komity.

Zmiany w interfejsie API

  • Usuń implementację uchwytu przeciągania w bibliotece adaptacyjnej i zachęć użytkowników do korzystania z wersji M3. Jednocześnie wprowadzamy modyfikator, który umożliwia rozszerzanie panelu przez przeciąganie uchwytu. Ukryj też DraggableState jako szczegóły implementacji, abyśmy mogli je w razie potrzeby zmienić. (Ib50cd)
  • Zgodnie z opiniami użytkowników dotyczącymi badań UXR punkt wejścia do dostosowywania animacji panelu został przeniesiony z funkcji szkieletu do AnimatedPane. (I10f72)
  • Wprowadzenie obsługi przesuwania i specyfikacji niestandardowej animacji dla rozwijania panelu. (Ie207d, b/362584341)

Poprawki błędów

  • Rozwiązanie problemów z przewidywanym powrotem po anulowaniu. (36a3e0a), (b/369899645)

Wersja 1.1.0-alpha06

30 października 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 został zwolniony. Wersja 1.1.0-alpha06 zawiera te komity.

Zmiany w interfejsie API

  • Dodano FloatRange do PaneScaffoldTransitionScope.motionProgress. (Iac0dd)
  • Zmień typ parametrów nawigatora na typy ogólne w przeszukiwalnych szablonach. (I1da6e)

Wersja 1.1.0-alpha05

16 października 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 został zwolniony. Wersja 1.1.0-alpha05 zawiera te komity.

Zmiany w interfejsie API

  • Wprowadzenie klasy specyfikacji animacji, aby zapewnić bardziej spójne zachowanie ruchu i możliwość rozbudowy w przyszłości. (I2d3cc)
  • Podaj typ ruchu i zmień nazwę currentXXXX w PaneMotionData na originXXXX. (I7c61a)

Wersja 1.1.0-alpha04

2 października 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 został zwolniony. Wersja 1.1.0-alpha04 zawiera te komity.

Nowe funkcje

  • Dodano obsługę przewidywanego przejścia wstecz do znaczników NavigableListDetailPaneScaffold i NavigableSupportingPaneScaffold. (I4dc21, b/359616816)

Zmiany w interfejsie API

  • Dodano ThreePaneScaffoldState do ThreePaneScaffoldNavigator. Metody nawigacji zostały zaktualizowane suspend, aby obsługiwać nawigację z animowanymi elementami. Dodano seekBack, aby obsługiwać stany częściowej nawigacji (np. przewidywane cofnięcie). (I5a651, b/359616816)
  • Dodano parametr MutableThreePaneScaffoldState, aby kontrolować przejście między wartościami w szablonie. Dotychczasowa wersja ThreePaneScaffoldState jest teraz dostępna tylko do odczytu. (Idb3c6)
  • Wyświetlanie domyślnych implementacji ruchu panelu (I95a7b)
  • Włączanie ustawiania początkowego zakotwiczenia stanu rozwinięcia panelu (Ie41b3, b/362350560)

Poprawki błędów

  • Wymuś minimalny rozmiar obszaru dotykowego uchwytu przeciągania 48 x 48 dp (7ce6635, b/366018217)
  • Przywracanie pozycji zakotwiczenia po zmianach konfiguracji (3c9fc6b, b/362353672)

Wersja 1.1.0-alpha03

18 września 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 został zwolniony. Wersja 1.1.0-alpha03 zawiera te komity.

Wersja 1.1.0-alpha02

4 września 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 został zwolniony. Wersja 1.1.0-alpha02 zawiera te komity.

Nowe funkcje

  • Twórcy mogą zmieniać domyślne animacje podczas zmian stanu adaptacyjnego szablonu (I0bf9c, I80e66). Twórcy mogą wybierać spośród domyślnych przejść do i z danego ujęcia lub stosować przejścia całkowicie niestandardowe z informacjami podanymi w nowych zakresach ruchu.
  • Wdrożyć animację znikania uchwytów do rozwijania paneli (46e3c69)
  • Umożliwienie zapisywania PaneExpansionState zapamiętanych (61ff76f)

Zmiany w interfejsie API

  • Dodanie do szkieletów brakujących interfejsów API służących do rozwijania okna (Ic5bc0)
  • Nazwa ThreePaneScaffoldDestinationItem.content została zmieniona na contentKey. Argument domyślnego typu rememberListDetailPaneScaffoldNavigatorrememberSupportingPaneScaffoldNavigator został zmieniony z Nothing na Any. (I58749)
  • Oznacz ThreePaneScaffoldState jako stabilną (I64aec)
  • Ustaw parametry uchwytu przeciągania w ramach (Ic0aa2)

Wersja 1.1.0-alpha01

21 sierpnia 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 został zwolniony. Wersja 1.1.0-alpha01 zawiera te komity.

Nowe funkcje

  • Wprowadzanie obsługi rozszerzania paneli w przypadku szkieletów adaptacyjnych.

Zmiany w interfejsie API

  • Udostępnienie interfejsów API do rozwijania okienek użytkownikom zewnętrznym (I301d6)
  • Wprowadziliśmy ThreePaneScaffoldState, aby kontrolować przejścia wartości w panelu. Dodano przeciążenia ListDetailPaneScaffoldSupportingPaneScaffold, które akceptują ten stan. (I5db3b)
  • Wprowadzenie klucza rozszerzenia panelu i interfejsu dostawcy kluczy (Id621f)

Poprawki błędów

  • Rozwiązano problem z nieprawidłowym obliczaniem partycji w przypadku wykluczonych prezentów z zawieszenia. (9dfd483)

Compose Material3 Adaptive Version 1.0

Wersja 1.0.0

4 września 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0 został zwolniony. Wersja 1.0.0 zawiera te komisy.

Najważniejsze funkcje wersji 1.0.0

Wersja 1.0.0-rc01

21 sierpnia 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 został zwolniony. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązano problem z nieprawidłowym obliczaniem partycji w przypadku wykluczonych prezentów w ramkach. (9dfd483)

Wersja 1.0.0-beta04

26 czerwca 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 został zwolniony. Wersja 1.0.0-beta04 zawiera te komity.

Poprawki błędów

  • Rozwiązanie problemu polegającego na tym, że po zaktualizowaniu granic zawiasów układ nie jest odpowiednio aktualizowany. (71e9cf1)

Wersja 1.0.0-beta03

12 czerwca 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 został zwolniony. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono awarie spowodowane nieprawidłowym rozwiązywaniem zależności w wersji beta02.

Wersja 1.0.0-beta02

29 maja 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 został zwolniony. Wersja 1.0.0-beta02 zawiera te komity.

Wersja 1.0.0-beta01

14 maja 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 został zwolniony. Wersja 1.0.0-beta01 zawiera te komity.

Wersja 1.0.0-alpha12

1 maja 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 został zwolniony. Wersja 1.0.0-alpha12 zawiera te komity.

Zmiany w interfejsie API

  • Dodaj informacje o isFlat do HingeInfo (Ie0516, b/333784198)
  • Usunięcie etykiety „eksperymentalny” z interfejsów API dostosowania (I1d038)
  • Usunięcie etykiety „eksperymentalny” z interfejsów API układu adaptacyjnego (Id23df)
  • Zmieniono typ BackNavigationBehavior z enumeracji na klasę wartości (Id8757).

Poprawki błędów

  • Zmień ułamek przejścia na lambda (I6f5a9)
  • Rozwiązanie problemu z pierwotnym stanem SizeTracker (18326a9)
  • Uwzględnij listę zawiasów w sprawdzaniu równości Posture (6687137)

Wersja 1.0.0-alpha11

17 kwietnia 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 został zwolniony. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Upewnij się, że interfejsy zakresu są zamknięte. (Iefa57)
  • Przedstaw AnimatedPaneScope. (I62d73, b/332750742)
  • AdaptStrategy musi być szczelny i stabilny. (Ia28b2)
  • Wprowadź metodę kopiowania PaneScaffoldDirective. (I9291f)
  • Oznacz ThreePaneScaffoldScope jako eksperymentalny. (I9d527)
  • Udostępnij łatwe w użyciu interfejsy API szablonu, które umożliwiają nawigację. (I263f0, b/321010778)

Wersja 1.0.0-alpha10

3 kwietnia 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 został zwolniony. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Domyślna preferowana szerokość powinna być dostosowywalna i działać adaptacyjnie. (Ic3abc)
  • Zmień nazwy funkcji obliczeń w direktiwach szablonu. (I10855)
  • Usuń wypełnienie i wstawki z interfejsów API rusztowania. (I786f8)
  • Dodaj metody zapamiętania nawigatora bez typów ogólnych. (I607c3)

Wersja 1.0.0-alpha09

20 marca 2024 r.

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 został zwolniony. Wersja 1.0.0-alpha09 zawiera te komity.

Zmiany w interfejsie API

  • Dodaj pola przejścia między stanami do ThreePaneScaffoldScope. (I3d917)
  • Zmienianie kolejności parametrów szablonu. (I4dff5)
  • Podaj domyślną wartość parametru modyfikatora AnimatedPane. (I77dd7)

Poprawki błędów

  • Uwzględnij rozmiar spacer w przypadku ruchów paneli. (a3174ca)

Wersja 1.0.0-alpha08

6 marca 2024 roku

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 został zwolniony. Wersja 1.0.0-alpha08 zawiera te komity.

Nowe funkcje

  • Wdrożenie opóźnionego przesuwania podczas przełączania paneli. (I1a38e)

Zmiany w interfejsie API

  • Usunięto interfejs ThreePaneScaffoldState. (I63f23)

Wersja 1.0.0-alpha07

21 lutego 2024 r.