با کمال افتخار اعلام میکنیم که نسخه ۱.۲.۰ نرمافزار Material 3 Adaptive اکنون پایدار شده است!
این نسخه همچنان بر پایه نسخههای قبلی بنا شده و پشتیبانی از نقاط شکست بیشتر برای کلاسهای اندازه پنجره و استراتژیهای جدید برای قرار دادن خودکار پنلهای نمایش را گسترش میدهد.
ویژگیهای جدید متریال ۳ آداپتیو ۱.۲.۰
این نسخه پایدار بر پایه پشتیبانی WindowManager 1.5.0 از نقاط شکست بزرگ و بسیار بزرگ ساخته شده است و استراتژیهای جدید reflow و levitate را برای ListDetailPaneScaffold و SupportingPaneScaffold معرفی میکند.
کلاسهای جدید اندازه پنجره: بزرگ و خیلی بزرگ

WindowManager 1.5.0 دو نقطه توقف جدید برای کلاس width window size معرفی کرد تا از پنجرههای حتی بزرگتر از کلاس Expanded window size پشتیبانی کند. نقاط توقف Large (L) و Extra-large (XL) را میتوان با اضافه کردن پارامتر زیر به فراخوانی currentWindowAdaptiveInfo() در کدبیس خود فعال کرد:
currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)
این پرچم به کتابخانه این امکان را میدهد که نقاط توقف L و XL را نیز در صورت نیاز برگرداند.
استراتژیهای تطبیقی جدید: جریان مجدد و شناور شدن
چیدمان محتوا و پنلهای نمایش در یک پنجره، کار پیچیدهای است که باید عوامل زیادی را در نظر بگیرد، از جمله اندازه پنجره. با کتابخانه جدید Material 3 Adaptive، دو فناوری جدید میتوانند به شما کمک کنند تا با حداقل تلاش، به یک طرحبندی تطبیقی دست یابید.
با reflow ، وقتی اندازه پنجره یا نسبت ابعاد تغییر میکند، پنجرهها دوباره مرتب میشوند، وقتی پنجره به اندازه کافی پهن باشد، یک پنجره دوم در کنار پنجره اول قرار میگیرد، یا وقتی پنجره بلندتر باشد، پنجره دوم زیر پنجره اول reflow میشود. این تکنیک همچنین وقتی پنجره کوچکتر میشود نیز اعمال میشود: محتوا به پایین reflow میشود.

تغییر رنگ یک صفحه بر اساس اندازه پنجره
اگرچه در بسیاری از موارد، reflowing یک گزینه فوقالعاده است، اما ممکن است موقعیتهایی وجود داشته باشد که در آنها محتوا یا باید به یک طرف پنجره متصل شود یا روی آن شناور شود . استراتژی شناور کردن نه تنها محتوا را متصل میکند، بلکه به شما امکان میدهد ویژگیهایی مانند قابلیت کشیدن، تغییر اندازه و حتی پوشش پسزمینه را سفارشی کنید.

معلق کردن یک صفحه نمایش از کنار به مرکز بر اساس نسبت ابعاد
هر دو استراتژی flow و levitate را میتوان با استفاده از پارامتر adaptStrategies درون سازندهی Navigator تعریف کرد و هر دو استراتژی را میتوان روی list-detail و scaffolds pane پشتیبان اعمال کرد:
val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>( adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies( detailPaneAdaptStrategy = AdaptStrategy.Reflow( reflowUnder = ListDetailPaneScaffoldRole.List ), extraPaneAdaptStrategy = AdaptStrategy.Levitate( alignment = Alignment.Center ) ) )
برای کسب اطلاعات بیشتر در مورد چگونگی بهرهگیری از این استراتژیهای تطبیقی جدید، به وبسایت Material و نمونه کد کامل در GitHub مراجعه کنید.
اخبار محصولیک تجربه کاربری عالی، محور ماموریت اندروید است و تحقق این وعده مستلزم سریع، پاسخگو و قابل اعتماد نگه داشتن دستگاهها است.
اخبار محصولاز زمان معرفی کیت توسعه نرمافزار اندروید XR، توسعهدهندگان ایدههای خود را به تجربیات فراگیر نوآورانه در هدستها و عینکهای XR سیمی تبدیل کردهاند.
Amy Zeppenfeld , Greg Underwood , Yasmine Evjen • ۲ دقیقه مطالعه
اخبار محصولامروز، نسخه Jetpack Compose آگوست 26 به صورت پایدار منتشر شد!
Nick Butcher • ۵ دقیقه مطالعه
جدیدترین بینشهای توسعه اندروید را به صورت هفتگی در صندوق ورودی خود دریافت کنید.




