با کمال افتخار اعلام میکنیم که نسخه ۱.۲.۰ نرمافزار 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 مراجعه کنید.
ادامه مطلب

اخبار محصول
اگر شما یک توسعهدهنده اندروید هستید که به دنبال پیادهسازی ویژگیهای نوآورانه هوش مصنوعی در برنامه خود هستید، ما اخیراً بهروزرسانیهای جدید و قدرتمندی را منتشر کردهایم.
Thomas Ezan • ۳ دقیقه مطالعه

اخبار محصول
اندروید ۱۷ به نسخه بتا ۴ رسیده است، آخرین نسخه بتای برنامهریزیشده در این چرخه انتشار، که نقطه عطفی حیاتی برای سازگاری برنامهها و پایداری پلتفرم محسوب میشود.
Daniel Galpin • ۴ دقیقه مطالعه

اخبار محصول
تبدیل گوگل پلی به امنترین و قابل اعتمادترین تجربه ممکن. امروز، ما مجموعهای جدید از بهروزرسانیهای سیاست و ویژگی انتقال حساب را برای افزایش حریم خصوصی کاربران و محافظت از کسبوکار شما در برابر کلاهبرداری اعلام میکنیم.
Bennet Manuel • ۳ دقیقه مطالعه
در جریان باشید
جدیدترین بینشهای توسعه اندروید را به صورت هفتگی در صندوق ورودی خود دریافت کنید.





