پلاتفرم Android مسئول رسم میانای کاربر سیستم، مانند نوار وضعیت و نوار پیمایش است. این واسط کاربر سیستم صرفنظر از اینکه کاربر از کدام برنامه استفاده میکند نمایش داده میشود.
WindowInsets اطلاعاتی درباره واسط کاربر سیستم ارائه میدهد تا مطمئن شوید برنامهتان در ناحیه درست ترسیم میشود و واسط کاربر سیستم آن را نمیپوشاند.
در Android 14 (سطح API ۳۴) و پایینتر، میانای کاربر برنامه شما بهطور پیشفرض در زیر نوارهای سیستم و برشهای نمایشگر رسم نمیشود.
در Android 15 (سطح ایپیآی ۳۵) و بالاتر، وقتی برنامه شما کیت توسعه نرمافزار ۳۵ را هدفیابی میکند، برنامه شما زیر نوارهای سیستم و برشهای نمایشگر ترسیم میشود. این کار منجر به تجربه کاربری یکپارچهتری میشود و به برنامه شما اجازه میدهد از فضای پنجره دردسترس خود بهطور کامل استفاده کند.
نمایش محتوا در پشت میانای کاربر سیستم رفتن به حالت لبهبهلبه نامیده میشود. در این صفحه، با انواع مختلف حاشیهها، نحوه بهبهلبه کردن، و نحوه استفاده از میاناهای برنامهسازی کاربردی حاشیه برای پویانمایی میانای کاربر و اطمینان از اینکه محتوای برنامه شما توسط عناصر میانای کاربر سیستم پنهان نمیشود آشنا میشوید.
اصول حاشیه
وقتی برنامهای لبهبهلبه میشود، باید مطمئن شوید که محتوا و تعاملات مهم توسط واسط کاربر سیستم پنهان نمیشوند. برای مثال، اگر دکمهای پشت نوار پیمایش قرار گیرد، ممکن است کاربر نتواند روی آن کلیک کند.
اندازه میانای کاربر سیستم و اطلاعات مربوط به محل قرارگیری آن بااستفاده از درجها مشخص میشود.
هر بخش از واسط کاربر سیستم دارای نوعی درج متناظر است که اندازه و محل قرارگیری آن را توصیف میکند. برای مثال، تورفتگیهای نوار وضعیت اندازه و موقعیت نوار وضعیت را ارائه میدهند، درحالیکه تورفتگیهای نوار پیمایش اندازه و موقعیت نوار پیمایش را ارائه میدهند. هر نوع درج از چهار بعد پیکسلی تشکیل شده است: بالا، چپ، راست، و پایین. این ابعاد مشخص میکنند که میانای کاربری سیستم تا چه اندازه از طرفین مربوطه پنجره برنامه گسترش مییابد. بنابراین، برای جلوگیری از همپوشانی با آن نوع میانای کاربر سیستم، میانای کاربر برنامه باید به همان اندازه تورفتگی داشته باشد.
این انواع درجهای توکار Android ازطریق WindowInsets دردسترس هستند:
درجها نوار وضعیت را توصیف میکنند. اینها نوارهای واسط کاربر سیستم در بالا هستند که نمادهای اعلان و نشانگرهای دیگر را دربرمیگیرند. |
|
درجهای نوار وضعیت برای زمانی که نمایان هستند. اگر نوارهای وضعیت پنهان باشند (بهدلیل ورود به حالت تمامصفحه فراگیر)، درجهای نوار وضعیت اصلی خالی خواهند بود، اما این درجها خالی نخواهند بود. |
|
درجهایی که نوارهای پیمایش را توصیف میکنند. اینها نوارهای واسط کاربر سیستم در سمت چپ، راست، یا پایین دستگاه هستند که نوار وظیفه یا نمادهای پیمایش را توصیف میکنند. این موارد میتوانند در زمان اجرا براساس روش پیمایش ترجیحی کاربر و تعامل با نوار وظیفه تغییر کنند. |
|
درجهای نوار پیمایش برای زمانی که قابلمشاهده هستند. اگر نوارهای پیمایش پنهان باشند (بهدلیل ورود به حالت تمامصفحه فراگیر)، درجهای نوار پیمایش اصلی خالی خواهند بود، اما این درجها خالی نخواهند بود. |
|
درج توصیفکننده تزئین پنجره واسط کاربر سیستم درصورت وجود در پنجره آزاد، مانند نوار عنوان بالا. |
|
درجهای نوار زیرنویس ناشنوایان برای زمانی که نمایان هستند. اگر نوارهای زیرنویس پنهان باشند، تورفتگیهای نوار زیرنویس اصلی خالی خواهند بود، اما این تورفتگیها خالی نخواهند بود. |
|
اتحاد درجهای نوار سیستم که شامل نوار وضعیت، نوار پیمایش، و نوار عنوان میشود. |
|
درجهای نوار سیستم برای زمانی که نمایان هستند. اگر نوارهای سیستم پنهان باشند (بهدلیل ورود به حالت تمامصفحه فراگیر)، تورفتگیهای نوار سیستم اصلی خالی خواهند بود، اما این تورفتگیها خالی نخواهند بود. |
|
درجهایی که مقدار فضای پایین را که صفحهکلید نرمافزاری اشغال میکند توصیف میکنند. |
|
درجهایی که مقدار فضایی را که صفحهکلید نرمافزاری قبلاز پویانمایی صفحهکلید فعلی اشغال کرده است توصیف میکنند. |
|
درجهایی که مقدار فضایی را که صفحهکلید نرمافزاری پساز پویانمایی صفحهکلید فعلی اشغال خواهد کرد توصیف میکند. |
|
نوعی از درجها که اطلاعات دقیقتری درباره میانای کاربری پیمایش ارائه میدهد و مقدار فضایی را که «تکضربها» توسط سیستم (و نه برنامه) مدیریت میشود نشان میدهد. برای نوارهای پیمایش شفاف با پیمایش اشارهای، برخیاز عناصر برنامه میتوانند ازطریق میانای کاربری پیمایش سیستم قابلتکضرب باشند. |
|
درجهای عنصر ضربهزدنی برای زمانی که رؤیتپذیر هستند. اگر عناصر ضربهزدنی پنهان باشند (بهدلیل ورود به حالت تمامصفحه فراگیر)، تورفتگیهای عنصر ضربهزدنی اصلی خالی خواهند بود، اما این تورفتگیها خالی نخواهند بود. |
|
درجهایی که نشاندهنده مقدار درجهایی است که سیستم اشارهها را برای پیمایش رهگیری میکند. برنامهها میتوانند بااستفاده از |
|
زیرمجموعهای از اشارههای سیستم که همیشه توسط سیستم مدیریت میشود و نمیتوان بااستفاده از |
|
درجهایی که مقدار فاصله موردنیاز برای جلوگیری از همپوشانی با برش نمایشگر (بریدگی یا سوراخ) را نشان میدهند. |
|
تصاویر کوچک نشاندهنده نواحی خمیده نمایشگر آبشاری. نمایشگر آبشاری دارای نواحی منحنی در امتداد لبههای صفحهنمایش است که در آن صفحهنمایش در امتداد کنارههای دستگاه شروع به پیچیدن میکند. |
این انواع با سه نوع درج «ایمن» خلاصه میشوند که تضمین میکنند محتوا پنهان نمیشود:
این انواع «ایمن» درج محتوا را به روشهای مختلفی محافظت میکنند، براساس درجهای پلتفرم زیرین:
- از
WindowInsets.safeDrawingبرای محافظت از محتوایی که نباید زیر هیچ میانای کاربری سیستمی ترسیم شود استفاده کنید. این رایجترین کاربرد تورفتگیها است: برای جلوگیری از ترسیم محتوایی که توسط واسط کاربر سیستم (بهطور جزئی یا کامل) پنهان شده است. - از
WindowInsets.safeGesturesبرای محافظت از محتوا با اشارهها استفاده کنید. این کار از تداخل اشارههای سیستم با اشارههای برنامه (مانند اشارههای مربوط به برگههای پایین، چرونهها، یا اشارههای درون بازی) جلوگیری میکند. - از
WindowInsets.safeContentبهعنوان ترکیبی ازWindowInsets.safeDrawingوWindowInsets.safeGesturesاستفاده کنید تا مطمئن شوید محتوا همپوشانی دیداری و همپوشانی اشارهای ندارد.
توصیهشده برای شما
- توجه: وقتی جاوا اسکریپت خاموش باشد، نوشتار پیوند نمایش داده میشود
- مؤلفهها و چیدمانهای Material
- انتقال
CoordinatorLayoutبه Compose - ملاحظات دیگر