Compose Material 3 Adaptive

از کتابخانه تطبیقی ​​Material 3 برای ایجاد رابط‌های کاربری تطبیقی ​​استفاده کنید که به طور خودکار مطابق با پیکربندی‌های پنجره فعلی مانند کلاس‌های اندازه پنجره یا وضعیت‌های دستگاه سازگار می‌شوند. این کتابخانه هم پیاده‌سازی‌های پیش‌فرض داربست و هم بلوک‌های ساختمانی لازم را برای ایجاد تجربیات سفارشی خود فراهم می‌کند.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
13 نوامبر 2024 1.0.0 - - 1.1.0-alpha07

اعلام وابستگی ها

برای افزودن وابستگی به نوشتن، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

Groovy

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"
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

Compose Material3 Adaptive Version 1.1

نسخه 1.1.0-alpha07

13 نوامبر 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 منتشر شد. نسخه 1.1.0-alpha07 حاوی این commit ها است.

تغییرات API

  • پیاده سازی دستگیره کشیدن را در کتابخانه تطبیقی ​​حذف کنید و افراد را تشویق کنید که از نسخه M3 آن استفاده کنند. و در عین حال یک اصلاح کننده برای ارائه قابلیت کشیدن بسط صفحه به یک دسته کشیدن ارائه شده قابل ترکیب معرفی کنید. همچنین DraggableState به عنوان جزئیات پیاده سازی مخفی کنید تا در صورت نیاز بتوانیم آن را بعداً تغییر دهیم. ( Ib50cd )
  • با توجه به بازخورد UXR، نقطه ورودی سفارشی‌سازی حرکت صفحه را از عملکردهای داربست به AnimatedPane منتقل می‌کند. ( I10f72 )
  • پشتیبانی از fling و مشخصات انیمیشن سفارشی را برای گسترش صفحه معرفی کنید. ( Ie207d , b/362584341 )

رفع اشکال

  • رفع مشکلات پیش‌بینی‌کننده برگشت در هنگام لغو. ( 36a3e0a ), ( b/369899645 )

نسخه 1.1.0-alpha06

30 اکتبر 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 منتشر شد. نسخه 1.1.0-alpha06 حاوی این تعهدات است.

تغییرات API

  • FloatRange به PaneScaffoldTransitionScope.motionProgress اضافه کنید. ( Iac0dd )
  • نوع پارامترهای ناوبر را به انواع عمومی در داربست های قابل کشتیرانی تغییر دهید. ( I1da6e )

نسخه 1.1.0-alpha05

16 اکتبر 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 منتشر شد. نسخه 1.1.0-alpha05 حاوی این تعهدات است.

تغییرات API

  • کلاس مشخصات انیمیشن را برای اطمینان از رفتار حرکتی سازگارتر و قابلیت گسترش آینده معرفی کنید. ( I2d3cc )
  • نوع حرکت را ارائه کنید و نام currentXXXXX را در PaneMotionData به originalXXXX تغییر دهید. ( I7c61a )

نسخه 1.1.0-alpha04

2 اکتبر 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 منتشر شد. نسخه 1.1.0-alpha04 حاوی این تعهدات است.

ویژگی های جدید

  • پشتیبانی پیش‌بینی‌کننده بازگشت به NavigableListDetailPaneScaffold و NavigableSupportingPaneScaffold اضافه شد. ( I4dc21 , b/359616816 )

تغییرات API

  • ThreePaneScaffoldState به ThreePaneScaffoldNavigator اضافه شد. روش‌های ناوبری برای پشتیبانی از ناوبری با انیمیشن suspend در آمده‌اند. seekBack برای پشتیبانی از وضعیت‌های ناوبری جزئی (مثلاً برگشت پیش‌بینی) اضافه کرد. ( I5a651 , b/359616816 )
  • MutableThreePaneScaffoldState برای کنترل انتقال بین مقادیر داربست اضافه شده است. ThreePaneScaffoldState موجود فقط خواندنی شده است. ( Idb3c6 )
  • نمایش پیاده‌سازی حرکت پیش‌فرض صفحه ( I95a7b )
  • فعال کردن تنظیم لنگر اولیه حالت گسترش صفحه ( Ie41b3 , b/362350560 )

رفع اشکال

  • اعمال اندازه هدف لمسی 48x48dp دقیقه دستگیره ( 7ce6635 , b/366018217 )
  • بازیابی موقعیت لنگر پس از تغییرات پیکربندی ( 3c9fc6b , b/362353672 )

نسخه 1.1.0-alpha03

18 سپتامبر 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 منتشر شد. نسخه 1.1.0-alpha03 حاوی این تعهدات است.

نسخه 1.1.0-alpha02

4 سپتامبر 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 منتشر شد. نسخه 1.1.0-alpha02 حاوی این تعهدات است.

ویژگی های جدید

  • سفارشی‌سازی حرکت ( I0bf9c )، ( I80e66 ) برای سازندگان برای تغییر حرکات پیش‌فرض در طول تغییرات حالت داربست تطبیقی ​​پشتیبانی می‌شود. سازندگان می‌توانند از میان مجموعه‌ای از انتقال‌های ورودی و خروجی پیش‌فرض انتخاب کنند، یا انتقال‌های سفارشی خالص را با اطلاعات ارائه‌شده از طریق حوزه‌های حرکتی جدید پیاده‌سازی کنند.
  • پیاده‌سازی انیمیشن محو شدن دسته‌های کشیدن بسط پنجره ( 46e3c69 )
  • PaneExpansionState به یاد ماندنی را ذخیره کنید ( 61ff76f )

تغییرات API

  • افزودن APهای گسترش پنجره گمشده به داربست ها ( Ic5bc0 )
  • ThreePaneScaffoldDestinationItem.content به contentKey تغییر نام داد. آرگومان نوع پیش فرض rememberListDetailPaneScaffoldNavigator و rememberSupportingPaneScaffoldNavigator از Nothing به Any تغییر یافت. ( I58749 )
  • علامت گذاری ThreePaneScaffoldState به عنوان پایدار ( I64aec )
  • پارامترهای دستگیره کشیدن را با دامنه مشخص کنید ( Ic0aa2 )

نسخه 1.1.0-alpha01

21 آگوست 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 حاوی این تعهدات است.

ویژگی های جدید

  • پشتیبانی از گسترش صفحه داربست های تطبیقی ​​را معرفی کنید.

تغییرات API

  • API های گسترش پنجره را به عموم معرفی کنید ( I301d6 )
  • ThreePaneScaffoldState برای کنترل انتقال مقادیر صفحه معرفی کرد. اضافه بارهای ListDetailPaneScaffold و SupportingPaneScaffold اضافه شد که این حالت را می پذیرند. ( I5db3b )
  • معرفی کلید گسترش صفحه و رابط ارائه دهنده کلید ( Id621f )

رفع اشکال

  • در صورت حذف لولا، محاسبه اشتباه پارتیشن را برطرف کنید. ( 9dfd483 )

Compose Material3 Adaptive Version 1.0

نسخه 1.0.0

4 سپتامبر 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0 منتشر شد. نسخه 1.0.0 حاوی این تعهدات است.

ویژگی های اصلی 1.0.0

  • توابع یک خطی Composable currentWindowSize() ، collectFoldingFeaturesAsState() ، و currentWindowAdaptiveInfo() برای دریافت اطلاعات مورد نیاز پنجره برای تطبیق برنامه ها، مانند اندازه پنجره و ویژگی های تاشو.
  • ListDetailPaneScaffold و SupportingPaneScaffold برای ارائه دو طرح بندی متعارف Material3 که خود را به طور خودکار مطابق با تنظیمات مختلف پنجره تطبیق می دهند. این دو داربست نیز کاملاً قابل تنظیم هستند تا با نیازهای مختلف سازندگان مطابقت داشته باشند.
  • ThreePaneScaffoldNavigator و توابع یادآوری مربوط به آن، rememberListDetailPaneScaffoldNavigator() و rememberSupportingPaneScaffoldNavigator() برای ارائه راه‌حل‌های ناوبری در یک داربست تطبیقی، که می‌تواند چندین مقصد ناوبری را به طور همزمان نشان دهد، در مقایسه با تنظیم یک‌مقصد رایج در یک مقصد. دنیای غیر سازگار
  • پیش‌فرض، انیمیشن‌های داخلی Material3 هنگام تغییر حالت‌های داربست تطبیقی.

نسخه 1.0.0-rc01

21 آگوست 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 حاوی این commit ها است.

رفع اشکال

  • در صورت حذف لولا، محاسبه اشتباه پارتیشن را برطرف کنید. ( 9dfd483 )

نسخه 1.0.0-beta04

26 ژوئن 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 منتشر شد. نسخه 1.0.0-beta04 حاوی این تعهدات است.

رفع اشکال

  • این مشکل را برطرف می کند که وقتی مرزهای لولا به روز می شوند، طرح مطابق با آن به روز نمی شود. ( 71e9cf1 )

نسخه 1.0.0-beta03

12 ژوئن 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 منتشر شد. نسخه 1.0.0-beta03 حاوی این تعهدات است.

رفع اشکال

  • خرابی های ناشی از وضوح وابستگی نادرست در beta02 را رفع می کند.

نسخه 1.0.0-beta02

29 مه 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 منتشر شد. نسخه 1.0.0-beta02 حاوی این تعهدات است.

نسخه 1.0.0-beta01

14 مه 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 حاوی این تعهدات است.

نسخه 1.0.0-alpha12

1 مه 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 منتشر شد. نسخه 1.0.0-alpha12 حاوی این تعهدات است.

تغییرات API

  • اطلاعات isFlat به HingeInfo اضافه کنید ( Ie0516 , b/333784198 )
  • APIهای تطبیقی ​​را غیرآزمایشی کنید ( I1d038 )
  • APIهای طرح‌بندی تطبیقی ​​را غیرآزمایشی کنید ( Id23df )
  • BackNavigationBehavior از enum به یک کلاس مقدار تغییر کرد ( Id8757 )

رفع اشکال

  • تغییر کسر انتقال به لامبدا ( I6f5a9 )
  • رفع مشکل حالت اولیه SizeTracker ( 18326a9 )
  • فهرست لولا را در بررسی برابری Posture قرار دهید ( 6687137 )

نسخه 1.0.0-alpha11

17 آوریل 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 حاوی این تعهدات است.

تغییرات API

  • رابط های محدوده را مهر و موم کنید. ( Iefa57 )
  • AnimatedPaneScope معرفی کنید. ( I62d73 , b/332750742 )
  • AdaptStrategy مهر و موم و پایدار کنید. ( Ia28b2 )
  • یک روش کپی از PaneScaffoldDirective را معرفی کنید. ( I9291f )
  • ThreePaneScaffoldScope به عنوان آزمایشی علامت گذاری کنید. ( I9d527 )
  • APIهای داربست با کاربری آسان را ارائه دهید که از ناوبری پشتیبانی می کند. ( I263f0 , b/321010778 )

نسخه 1.0.0-alpha10

3 آوریل 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 حاوی این تعهدات است.

تغییرات API

  • عرض ترجیحی پیش فرض را تطبیق پذیر و قابل تنظیم کنید. ( IC3abc )
  • تغییر نام توابع محاسبه دستورالعمل داربست. ( I10855 )
  • بالشتک ها و قسمت های داخلی را از APIهای داربست بردارید. ( I786f8 )
  • روش‌های به خاطر سپردن ناوبری را بدون انواع عمومی اضافه کنید. ( I607c3 )

نسخه 1.0.0-alpha09

20 مارس 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 حاوی این تعهدات است.

تغییرات API

  • فیلدهای انتقال حالت را به ThreePaneScaffoldScope اضافه کنید. ( I3d917 )
  • تغییر ترتیب پارامترهای داربست. ( I4dff5 )
  • مقدار پیش فرض پارامتر اصلاح کننده AnimatedPane را ارائه دهید. ( I77dd7 )

رفع اشکال

  • اندازه اسپیسر را در حرکات قاب قرار دهید. ( a3174ca )

نسخه 1.0.0-alpha08

6 مارس 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 حاوی این تعهدات است.

ویژگی های جدید

  • هنگام تعویض پنجره ها، لغزش تاخیری به داخل را اجرا کنید. ( I1a38e )

تغییرات API

  • رابط ThreePaneScaffoldState حذف شد. ( I63f23 )

نسخه 1.0.0-alpha07

21 فوریه 2024