Skomponuj Material 3 Adaptive

  
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
15 stycznia 2025 r. 1.0.0 - - 1.1.0-alpha09

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. Daj nam znać, jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, 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-alpha09

15 stycznia 2025 r.

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

Zmiany w interfejsie API

  • Dodaj i użyj nowej eksperymentalnej adnotacji ExperimentalMaterial3AdaptiveComponentOverrideApi. (Id45aa)
  • Ukryj ThreePaneScaffoldHorizontalOrder.toLtrOrder. (I6f8d2)
  • ThreePaneScaffoldPredictiveBackHandler został(a) udostępniony(a) publicznie. (I1a995, b/370543873)
  • Do właściwości ThreePaneScaffoldState dodano właściwość isPredictiveBackInProgress. (I1a995, b/370543873)
  • Utwórz mechanizm zastępowania dla AnimatedPane, aby obsługiwać implementacje sideload dla różnych formatów. (Id7622)

Poprawki błędów

  • Rozwiązanie problemu, gdy kierunek osadzania nie ma żadnych punktów zakotwiczenia. (df8257d)

Wersja 1.1.0-alpha08

12 grudnia 2024 r.

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

Zmiany w interfejsie API

  • Przedstaw funkcję currentWindowDpSize. (I99125, b/296300441)
  • Wyświetl PaneScaffoldParentDataThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7).
  • Usuń PaneScaffoldMotionScope i przekształć je w pole pod PaneScaffoldTransitionScope. Zmień też jego nazwę na PaneScaffoldMotionDataProvider i usuń dostęp do podstawowej struktury danych PaneMotionData. Zamiast tego podaj metody gettera i pętli, które umożliwiają dostęp do danych. (Id8884)
  • Utwórz mechanizm zastępowania dla ThreePaneScaffold, aby obsługiwać implementacje sideload dla różnych formatów. (I5280f)
  • Domyślnie ustawia stan rozszerzenia panelu na null (Ia65f8, b/376394520)

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 przeciąganie panelu do elementu kompozycyjnego 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ń UX 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 wniosku 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 komisy.

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 ustawień 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 (7ce663, 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 komisy.

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 komisy.

Nowe funkcje

  • Twórcy mogą zmieniać domyślne animacje podczas zmian stanu adaptacyjnego szablonu (I0bf9c, I80e66). Twórcy mogą wybierać spośród zestawu domyślnych przejść do i z danego elementu lub stosować przejścia całkowicie niestandardowe z informacjami podanymi za pomocą nowych zakresów ruchu.
  • Wdrożyć animację znikania uchwytów do przeciągania panelu (46e3c69)
  • Umożliwienie zapisywania PaneExpansionState (61ff76)

Zmiany w interfejsie API

  • Dodanie do szablonów brakujących interfejsów API służących do rozszerzania paneli (Ic5bc0)
  • Nazwa ThreePaneScaffoldDestinationItem.content została zmieniona na contentKey. Argument domyślnego typu rememberListDetailPaneScaffoldNavigatorrememberSupportingPaneScaffoldNavigator zmienił się z Nothing na Any. (I58749)
  • Oznacz ThreePaneScaffoldState jako stabilny (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 adaptacyjnych szkieletów.

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 zawieszeniem. (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 z zawieszeniami. (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 komity.

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ć szczelnie zamknięty 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 komity.

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.