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

اخبار محصول
هر ساله، گوگل I/O اطلاعیهها و منابع جدیدی را در اکوسیستمها و محصولات، از جمله توسعه اندروید، ارائه میدهد. با تغییر جهت توسعه به سمت هوش مصنوعی و ابزارهای کمکی، ما پیشنهادات خود را برای پشتیبانی بهتر از شما، صرف نظر از اینکه تصمیم به ساخت برنامه برای اندروید دارید، گسترش دادهایم.
Simona Milanovic • ۲ دقیقه مطالعه

اخبار محصول
در کنفرانس Google I/O 2026، ما نشان دادیم که چگونه آخرین پیشرفتها در اکوسیستم اندروید میتواند به شما در افزایش کیفیت برنامهتان و در عین حال به حداکثر رساندن بهرهوری توسعه کمک کند.
Ataul Munim • ۳ دقیقه مطالعه

اخبار محصول
در کنفرانس Google I/O 2026، ما تغییر اندروید از یک سیستم عامل به یک سیستم هوشمند را معرفی کردیم. همچنین نشان دادیم که چگونه میتوانید با این سیستم، تجربیات هوشمند بومی بسازید و قدرت هوش مصنوعی گوگل را به برنامههای خود بیاورید.
Jingyu Shi • 2 دقیقه مطالعه کنید
در جریان باشید
جدیدترین مطالب مربوط به توسعه اندروید را هر هفته در ایمیل خود دریافت کنید.





