با کمال افتخار اعلام میکنیم که نسخه ۱.۲.۰ نرمافزار 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 مراجعه کنید.
اخبار محصولدر ماه مارس، ما Android Bench را معرفی کردیم - جدول امتیازات LLM ما برای وظایف توسعه اندروید در دنیای واقعی. از آن زمان، ما این معیار را بر اساس بازخورد شما بهبود بخشیدهایم، از جمله ارزیابی مدلهای وزن باز و اضافه کردن ابعاد هزینه و کارایی به جدول امتیازات.
Zoe Lopez-Latorre • 3 دقیقه مطالعه
اخبار محصولدر گوگل پلی، ما متعهد به ارائه بهترین تجربه ممکن به کاربران هستیم، ضمن اینکه اطمینان حاصل میکنیم توسعهدهندگان ابزار و سازگاری لازم برای موفقیت را دارند.
Paul Feng • ۳ دقیقه مطالعه
اخبار محصولسال گذشته، ما تأیید توسعهدهنده اندروید را برای تقویت امنیت اکوسیستم و جلوگیری از پنهان شدن عوامل مخرب در پشت ناشناس ماندن برای انتشار برنامههای مضر، معرفی کردیم.
Matthew Forsythe • ۲ دقیقه مطالعه
جدیدترین بینشهای توسعه اندروید را به صورت هفتگی در صندوق ورودی خود دریافت کنید.





