Tworzenie materiału 3 z dopasowywaniem

  
Korzystaj z biblioteki adaptacyjnej Material 3, aby tworzyć adaptacyjne interfejsy użytkownika, 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 wrażeń.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
29 stycznia 2025 r. 1.0.0 - 1.1.0-beta01 -

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 oddać głos w sprawie 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-beta01

29 stycznia 2025 r.

androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta01 został zwolniony. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Wprowadzanie funkcji fabrycznych w celu utworzenia kotwic rozwinięcia panelu typu offset od początku lub końca. (I2eb21)
  • Uszczelnij interfejs PaneMotion i usuń domyślne metody przejścia. (Ifc4c7)
  • Wprowadzenie interfejsów API do uzyskiwania bieżącego punktu kotwiczenia i animowania do punktu kotwiczenia. (Icf95d)
  • Wprowadzenie interfejsów API ułatwień dostępu do rozszerzenia panelu (Icc669)
  • Zmień typ PaneScaffoldParentData.preferredWidth na DP. (Id98ee)

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ń UXR punkt wejścia do dostosowywania animacji panelu został przeniesiony z funkcji szkieletu do funkcji AnimatedPane. (I10f72)
  • Wprowadzenie obsługi przesuwania i specyfikacji niestandardowej animacji dla rozszerzania 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 szkieletach. (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 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 cofanie). (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 (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 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 zatwierdzenia.

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 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 zmienił się z Nothing na Any. (I58749)
  • Oznacz ThreePaneScaffoldState jako stabilną (I64aec)
  • Ustaw parametry uchwytu przeciągania w zakresie (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 (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 zawieszeniami. (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 zawieszeniem. (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 komisy.

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.