قابلیت Multi Window یکی از قابلیت‌هایی است که در گذشته تنها در برخی گوشی‌های رده بالای سامسونگ مشاهده میکردیم. این قابلیت اکنون در API سطح 24 اندروید بصورت محلی پیاده‌سازی شده و تمامی گوشی‌هایی که قابلیت استفاده از اندروید 7 را دارند میتوانند از این قابلیت جالب اندروید استفاده کنند و در گوشی خود در آن واحد پنجره دو برنامه مختلف را ببینند:

 

 

در این پست کوتاه به نحوه فعالسازی این قابلیت در برنامه اندرویدی خود که به آن Split Window نیز گفته میشود خواهیم پرداخت.

 

بررسی Lifecycle

حالت Multi-Window هیچ تاثیری بر Lifecycle اکتیوتی شما نمیگذارد.

در این حالت تنها اکتیویتی که کاربر آخرین تعامل را با آن داشته فعال است (به این اکتیویتی topmost گفته میشود) و اکتیویتی دیگر با آنکه ممکن است قابل مشاهده باشد در حالت Pause قرار میگیرد. در هر صورت باید توجه داشت که سیستم عامل به اکتیویتی که Pause اما قابل مشاهده است اولویت بالاتری نسبت به سایر اکتیویتی‌های Pause شده خواهد داد و به هنگام تعامل مجدد با آن، اکتیویتی در حالت Resume قرار گرفته و اکتیویتی که قبلاً topmost بود بجای آن در حالت Pause میرود.

 

پیکربندی برنامه برای حالت Multi-Window

اگر شما API سطح 24 یا بالاتر از آن را در برنامه خود هدف قرار داده اید، میتوانید به سادگی با ورود به Manifest برنامه خود و افزودن صفت زیر در تگ <application> یا <activity>، حالت Multi-Window را در برنامه خود فعال کنید:

android:resizeableActivity="true"

همچنین برای غیرفعال کردن این قابلیت کافیست همانند کد زیر این خصوصیت را false کنید:

android:resizeableActivity="false"

 نکته: اگر API هدف شما 24 تعیین شده باشد و مقدار این صفت را برای برنامه خود مشخص نکرده باشید، بطور پیشفرض قابلیت Multi-Window در پنجره شما فعال خواهد بود.