نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • تلفن ویندوز
  • نحوه فعال کردن حالت چند پنجره ای در اندروید 7. حالت چند پنجره ای: یک مزیت رقابتی اضافی برای برنامه های اندروید

نحوه فعال کردن حالت چند پنجره ای در اندروید 7. حالت چند پنجره ای: یک مزیت رقابتی اضافی برای برنامه های اندروید

توجه! این مقاله از اسکرین شات ها و گزینه های سیستم عامل اندروید 7.1 استفاده می کند. اگرچه اکثر عناصر توضیح داده شده باید در نسخه های دیگر اندروید وجود داشته باشند، اما نویسنده آن را تضمین نمی کند.

نحوه فعال کردن گزینه های توسعه دهنده

با وجود این واقعیت که این مقاله بر روی تنظیمات برای توسعه دهندگان تمرکز دارد، از این نام نترسید. برخی از گزینه های ارائه شده در این بخش برای کاربران عادی نیز مفید خواهد بود. به طور پیش فرض، آنها در تنظیمات نمایش داده نمی شوند، اما رفع آن آسان است.

  1. تنظیمات اندروید را باز کنید و به قسمت About phone بروید.
  2. به سمت پایین حرکت کنید. خط "شماره ساخت" را پیدا کنید.
  3. هفت ضربه سریع پشت سر هم روی این عنصر انجام دهید. در نتیجه باید یک اعلان نشان دهد که شما اکنون یک توسعه دهنده هستید و بخش مربوطه در منوی تنظیمات ظاهر می شود.

حال بیایید با برخی از امکاناتی که به روی ما باز شده است آشنا شویم.

برخی از توسعه دهندگان به طور خاص قابلیت نصب روی کارت SD را در برنامه های خود غیرفعال می کنند. با سوئیچ "اجازه ذخیره در درایوهای خارجی" می توانید بدون توجه به تمایل توسعه دهنده اجازه دهید.

لطفاً توجه داشته باشید که توسعه‌دهنده ممکن است دلیل خوبی برای عدم اجازه نصب روی کارت خارجی داشته باشد. برخی از برنامه ها به یک مکان خاص متصل شده اند و اگر در جایی که برنامه نویس قصد داشته نصب نشوند، کار نمی کنند. بنابراین، این ویژگی باید با احتیاط استفاده شود.

حالت چند پنجره ای یکی از ویژگی های آخرین نسخه سیستم عامل های گوگل است. با این حال، برای کار کردن این عملکرد، نه تنها نسخه صحیح اندروید مورد نیاز است، بلکه به پشتیبانی در خود برنامه ها نیز نیاز است که متاسفانه همه توسعه دهندگان به آن توجه نکرده اند.

با استفاده از گزینه "تغییر اندازه در حالت چند پنجره ای" می توانید از هر برنامه ای در این حالت استفاده کنید.

گوشی‌های هوشمند معمولاً برای صرفه‌جویی در مصرف باتری، در زمان عدم فعالیت، صفحه نمایش را خود به خود خاموش می‌کنند. با این حال، در برخی موارد این ویژگی مورد نیاز نیست. به عنوان مثال، اگر می خواهید از یک تلفن هوشمند قدیمی به عنوان ساعت رومیزی یا در ماشین به عنوان یک رهیاب استفاده کنید.

گزینه «صفحه را خاموش نکنید» به گوشی هوشمند اجازه می دهد تا زمانی که به شارژر متصل است در حالت فعال بماند.

این یکی از مفیدترین گزینه هایی است که به شما امکان می دهد به شتاب بصری قابل توجهی در اندروید برسید. واقعیت این است که برخی از سازندگان، به دنبال جلوه های شگفت انگیز، سیستم عامل را با انیمیشن های زیبا بیش از حد بارگذاری می کنند.

در این بخش از گزینه‌ها برای توسعه‌دهنده، می‌توانید زمان نمایش آن‌ها را خودتان تنظیم کنید یا آن‌ها را به طور کلی غیرفعال کنید. در نتیجه، به نظر می رسد که سیستم به تازگی شروع به پرواز کرده است.

اگر دستگاه شما از صفحه نمایش AMOLED استفاده می کند، تعداد رنگ های نمایش داده شده برای صرفه جویی در باتری بسیار مهم است. برای کشش بیشتر در شارژ باقی مانده، به سادگی حالت تک رنگ را فعال کنید. این گزینه در تنظیمات توسعه دهنده نیز مخفی است و «Simulate anomaly» نام دارد.

و از چه گزینه های مفیدی برای توسعه دهندگان استفاده می کنید؟

هر کسی که در حالت چند پنجره ای در یک دستگاه اندرویدی کار کرده باشد می تواند تأیید کند که در شرایط خاص این کار بسیار راحت است. یک مثال ساده: خواندن کتاب الکترونیکی با فرهنگ لغت الکترونیکی. به خصوص در گوشی هوشمند یا تبلت با صفحه نمایش نسبتا بزرگ.
اگر کاربر مجبور باشد بین دو برنامه کاربردی که تقریباً از هر نظر مشابه هستند، اما در پشتیبانی از کار همزمان با چندین پنجره متفاوت هستند، یکی را انتخاب کند، جای تعجب نیست که او یکی را انتخاب کند که چنین پشتیبانی را ارائه می دهد.

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

مرور

کار همزمان با چندین ویندوز در اندروید ویژگی جالبی است که می تواند اپلیکیشن شما را از بسیاری دیگر متمایز کند و مزیت رقابتی بیشتری به آن بدهد. بسیاری از OEM ها و ODM ها مانند سامسونگ، راموس و هواوی در حال دستکاری سیستم اصلی اندروید هستند. به ویژه، آنها پشتیبانی از حالت چند پنجره ای را معرفی می کنند. آنها این کار را به منظور افزایش جذابیت گوشی های هوشمند و تبلت های خود انجام می دهند تا آنها را از بسیاری از دستگاه هایی که از چنین عملکردی پشتیبانی نمی کنند متمایز کنند.


سناریوهای استفاده از حالت چند پنجره ای

اطلاعات اولیه

در ژوئن 2012 ارائه شد سنگ زاویه، سنگ گوشهاولین پلتفرم منبع باز برای چندوظیفگی در اندروید است. در آگوست 2012، سامسونگ اولین دستگاهی را عرضه کرد که از عملکرد چند پنجره ای پشتیبانی می کند. از سال 2013 تا به امروز، می توانید شاهد رشد انفجاری راه حل های پشتیبانی از کار همزمان با چندین ویندوز در اندروید باشید.

در ماه مه 2015، Android M Developer Preview منتشر شد (امروز، در ماه جولای، Preview 2 در حال حاضر در دسترس است). انتشار رسمی اندروید M (6.0) در پاییز 2015 انتظار می رود. در میان نوآوری های دیگر، Android M Preview 2 به دلیل پشتیبانی از حالت چند پنجره ای قابل توجه است.


توسعه راه حل های چند وظیفه ای اندروید

دو روش برای کار با چندین پنجره وجود دارد: پنجره های شناور و پنجره های لنگر. از جمله ویژگی های اصلی کار در حالت های چند پنجره ای می توان به باز و بسته شدن پنجره ها (باز / بسته)، تغییر اندازه (تغییر اندازه) و موقعیت نسبی آنها (تغییر) اشاره کرد. با باز کردن یا بستن یک پنجره، ما به ترتیب حالت چند پنجره را فعال یا غیرفعال می کنیم. عملکرد تغییر اندازه به شما امکان می دهد اندازه پنجره ها را تنظیم کنید. تغییر موقعیت پنجره ها اقدامی است که به شما امکان می دهد آنها را تعویض کنید.


حالت های چند پنجره ای

در سال 2013، راه حل های بسیاری در بازار ظاهر شد که برای کار با چندین پنجره طراحی شده اند. آنها توسط OEM ها و ODM ها، ISV ها و جامعه منبع باز توسعه داده شده اند. در جدول زیر می توانید مقایسه ای از فناوری های مختلف چند پنجره ای اندروید را مشاهده کنید.

تولید - محصول سنگ زاویه، سنگ گوشه برجسته Xposed نزدیک به
شرح
چارچوبی برای سازماندهی چند وظیفه ای در سیستم عامل اندروید
یک کتابخانه منبع باز که می تواند برای ساخت برنامه های کاربردی با پنجره های شناور استفاده شود
یک برنامه چند پنجره ای که از ویندوزهای متصل پشتیبانی می کند
هدف این پروژه ایجاد یک محیط کاری شبیه کار بر روی رایانه رومیزی است
پشتیبانی از باز کردن، بستن پنجره ها، تغییر اندازه، تمام صفحه
آره
آره
آره
آره
سبک پنجره
پین شده
شناور
پین شده
ثابت و شناور
اصلاح کد
در سطح پلتفرم اندروید
در سطح برنامه
در سطح پلتفرم اندروید
در سطح پلتفرم اندروید
پشتیبانی برنامه
همه برنامه ها پشتیبانی می شوند، اما SurfaceView به صورت پویا پیکربندی نشده است.
برخی از برنامه های کاربردی پشتیبانی به عنوان مثال، یک ماشین حساب.
سازگاری و پایداری راه حل باید بهبود یابد.
همه برنامه ها را پشتیبانی می کند.
نسخه اندروید
اندروید 4.1. – اندروید 4.4.
اندروید 4.1. – اندروید 4.4.
اندروید 4.4.
اندروید 4.4
سایت رسمی
گریه کردن
گریه کردن
گریه کردن
گریه کردن

معماری نرم افزار

کد پلت فرم اندروید را می توان برای پشتیبانی از ویژگی های اضافی تغییر داد. معماری سیستم عامل اندروید از چندین لایه تشکیل شده است.

در مورد اندروید 4.2 و اندروید 4.3، پوسته (لانچر) و سایر برنامه‌ها هنگام راه‌اندازی روی یک پشته قرار می‌گیرند که به آن "پشته اصلی" ("پشته اصلی") می‌گویند. همانطور که می دانید، حالت چند پنجره ای به پشته های بیشتری نیاز دارد تا چندین پنجره را در خود جای دهد. در نتیجه، ما باید کلاس سیستم ActivityManagerService را با افزودن یک رابط به آن برای ایجاد و مدیریت پشته تغییر دهیم. برای تغییر کلاس پلتفرم WIndowManagerService، که به شما امکان مدیریت نمایش های گرافیکی برنامه را می دهد، باید InputManager را تغییر دهید. این امر ضروری است تا بتواند رویدادهای لمسی را به پنجره های مناسب هدایت کند.

با انتشار اندروید 4.4 و اندروید 5.0، رویکرد مدیریت پشته به طور قابل توجهی تغییر کرده است. پوسته و سایر برنامه ها می توانند روی پشته های مختلف اجرا شوند. پشتیبانی از چندین پشته و امکان مدیریت آنها به سیستم اضافه شده است. در شکل زیر تفاوت کار با پشته در نسخه های مختلف اندروید نشان داده شده است.


مقایسه کار با پشته در اندروید 4.3 و اندروید 4.4

حالا بیایید روی اندروید 5 (Lollipop) تمرکز کنیم. سیستم عامل اندروید از مکانیسم های برگشت به تماس برای اجرای عملکردهای رابط یک Activity استفاده می کند. با این حال، تابع کنترل در سطح پلت فرم اجرا می شود. بنابراین، اکنون دو کلاس مهم را بررسی خواهیم کرد: ActivityManagerService و WindowManagerService.


ساختار نرم افزار پلت فرم لالی پاپ

مدیریت یک فعالیت در Lollipop

از آنجایی که توانایی کار در حالت چند پنجره ای به پشته بستگی دارد، موارد زیر نشان می دهد که چگونه می توانید یک پشته ایجاد کنید و چگونه می توانید یک Activity را در این پشته شروع کنید. در Lollipop، توابع زیر به رابط IactivityManager.java اضافه شده است:

پس از شروع، فرآیند SystemServer خدمات مدیریت فعالیت و خدمات مدیریت ویندوز را فراخوانی می کند. برای مشاهده این فرآیند، می‌توانیم دستوراتی برای پرتاب یک استثنای زمان اجرا (RuntimeException) در مکان‌های مناسب اضافه کنیم.


فرآیند ایجاد پشته در Lollipop

حالا بیایید ببینیم چگونه یک Activity را در پشته شروع کنیم:


راه اندازی یک فعالیت در پشته

در Lollipop، دستورات زیر به ابزار ADB (Android Debug Bridge) اضافه شده است:

مدیریت پنجره در Lollipop

WindowManagerService بخش مرکزی سیستم مدیریت پنجره است. عملکرد آن شامل ارسال رویدادهای ورودی، مدیریت مکان اشیاء روی صفحه و سطوحی است که عناصر گرافیکی روی آنها نمایش داده می شوند.


نقش WindowsManagerService درمعماری گرافیک اندروید

مشکلات چند پنجره ای

هنگام کار در حالت چند پنجره ای، تغییر اندازه پنجره در دسترس است. نمونه هایی وجود دارد که اندازه پنجره ای که انیمیشن بازی را نمایش می دهد قابل تغییر نیست. دلیل اصلی این امر این است که زیر سیستم Android SurfaceFlinger نمی تواند به صورت پویا اندازه تصویر رندر شده را تغییر دهد.


بازی هایی که از SurfaceFlinger استفاده می کنند نمی توانند به صورت پویا اندازه پنجره را تغییر دهند

مشکل دیگر این است که برخی از برنامه ها در حالت چند پنجره ای به اشتباه نمایش داده می شوند. در شکل زیر مشاهده می کنید که ماشین حساب چند پنجره ای به درستی نمایش داده نمی شود. همه چیز در مورد چیدمان برنامه است که برای چنین شرایط استفاده ای طراحی نشده است.


ماشین حساب با چیدمان برای کار در حالت چند پنجره ای طراحی نشده است

پشتیبانی از چند پنجره در اندروید M

Android M Developer Preview 2 را می توان در Nexus 5، 6، 9 و Nexus Player اجرا کرد. اگر چنین دستگاهی ندارید یا نمی خواهید سیستم عاملی را که در وضعیت Preview است روی آن نصب کنید، می توانید با استفاده از شبیه ساز اندروید استودیو با اندروید M آشنا شوید. به طور خاص، اکنون ما به ابزارهای استاندارد برای کار در حالت چند پنجره ای علاقه مند هستیم.

برای مشاهده عملی این حالت، کافی است یک دستگاه مجازی جدید با استفاده از ابزار AVD Manager ایجاد کنید، در حالی که یکی از موارد موجود با Level MNC API را به عنوان تصویر سیستم انتخاب کنید. در مورد ما، این یک تصویر x86_64 بود. در مرحله بعد باید شبیه ساز را راه اندازی کنید، به قسمت Developer settings رفته و گزینه Multiwindow را در آنجا فعال کنید. اگر این گزینه را پیدا نکردید، به این راهنما نگاهی بیندازید

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


منوی انتخاب طرح بندی پنجره در حالت چند پنجره ای


حالت چند پنجره ای در اندروید M

هنوز مشخص نیست که آیا چند ویندوز در نسخه رسمی اندروید M در دسترس خواهد بود یا خیر. با این حال، برای مثال، ماشین حساب سیستم در این حالت احساس خوبی دارد. در نتیجه، دلیل خوبی داریم که باور کنیم روزی دور نیست که تطبیق برنامه‌ها برای حالت چند پنجره‌ای از یک مزیت رقابتی به یک نیاز فوری تبدیل شود.

اگر می‌خواهید برنامه‌های خود را برای نسخه‌های قدیمی‌تر اندروید به پشتیبانی چند پنجره‌ای مجهز کنید، وقت آن است که به راه‌حل‌های شخص ثالثی که در بالا توضیح داده شد روی آورید. به عنوان مثال، به سنگ بنا.

مثال: سنگ بنا

Onskreen Cornerstone را ایجاد کرد، اولین فریمورک چند پنجره ای برای اندروید. برای دستگاه هایی با صفحه نمایش بزرگ و تبلت طراحی شده است. کد منبع را می توان از Github دانلود کرد. از نسخه های اندروید 4.1 و 4.2 پشتیبانی می کند. برای نسخه های بعدی این سیستم عامل، Cornerstone هنوز منتشر نشده است. با این حال، می توانید کد منبع اندروید 4.2 را تجزیه و تحلیل کنید تا از جزئیات فنی نحوه عملکرد سیستم مطلع شوید.


تغییرات سنگ بنا در Android Jelly Bean

نتایج

بسیاری از دستگاه های تلفن همراه دارای سیستم عامل اندروید از پردازنده های Intel® استفاده می کنند. توسعه دهندگان چگونه می توانند تجربه کاربری اپلیکیشن های خود را بهبود بخشند؟ چگونه اپلیکیشن ها را رقابتی تر کنیم؟ این سوالات ما را به بهبود مستمر محصولات در دستگاه‌های معماری Intel (IA) سوق می‌دهند. پشتیبانی چند پنجره ای مثال خوبی از یک ویژگی مفید است که به برنامه ها مزیت رقابتی می دهد. این راحت است، حالت چند پنجره ای به کاربر این امکان را می دهد که چندین کار را همزمان انجام دهد. به عنوان مثال، یک ویدیو تماشا کنید و برای دوستان خود در مورد آنچه که تماشا می کنند، نظر بنویسید. مثلاً برای انجام یک بازی و خواندن نقدهای آن. امروزه چندین دستگاه از عملکرد چند پنجره ای پشتیبانی می کنند. به عنوان مثال، اینها تبلت های Ramos i12، Teclast x98 و Cube i7 هستند که سیستم عامل Remix را اجرا می کنند.


حالت چند پنجره ای در دستگاه های IA

Android N پشتیبانی از نمایش چندین برنامه را به طور همزمان اضافه می کند. در دستگاه های تلفن همراه، دو برنامه را می توان در کنار هم یا روی هم در حالت راه اندازی کرد تقسیم صفحه نمایش. در تلویزیون ها، برنامه ها می توانند از "تصویر در تصویر"برای پخش ویدیو در حالی که کاربران در حال کار بر روی برنامه دیگری هستند.

اگر در حال ساختن یک برنامه با استفاده از N Preview SDK هستید، می توانید نحوه عملکرد آن در حالت چند پنجره ای را مشخص کنید. به عنوان مثال، می توانید حداقل اندازه مجاز را برای یک پنجره برنامه تنظیم کنید. همچنین می توانید حالت چند پنجره ای را برای یک برنامه غیرفعال کنید تا فقط در حالت تمام صفحه نمایش داده شود.

مرور

در Android N، چندین برنامه می توانند همزمان روی صفحه نمایش باشند. به عنوان مثال، یک کاربر می تواند صفحه را برای مشاهده یک صفحه وب در سمت چپ تقسیم کند و یک پیام ایمیل در سمت راست بنویسد. تجربه کاربر بسته به دستگاه متفاوت است.

  • در دستگاه‌های تلفن همراه Android N، حالت تقسیم صفحه در دسترس است. در این حالت دو اپلیکیشن در کنار هم یا روی هم نمایش داده می شوند. کاربر می تواند خط تقسیم را بکشد تا پنجره یک برنامه بزرگ شود و پنجره برنامه دیگر کوچک شود.
  • در Android N Nexus Player for Apps در دسترس خواهد بود، که به برنامه اجازه می‌دهد تا زمانی که کاربر در حال مرور یا تعامل با سایر برنامه‌ها است، محتوا را نمایش دهد.
  • سازندگان دستگاه های بزرگتر می توانند حالت Freeform را فعال کنند که در آن کاربر می تواند اندازه هر پنجره را به هر نحوی تغییر دهد. در این صورت علاوه بر حالت تقسیم صفحه، این حالت نیز بر روی دستگاه موجود خواهد بود.

برنج. یکیاین دو برنامه در کنار هم در حالت تقسیم صفحه نمایش داده می شوند.

کاربر می تواند به روش های زیر به حالت چند پنجره ای تبدیل شود.

  • اگر کاربر نام یک فعالیت را باز کند و به مدت طولانی فشار دهد، می توان آن را به قسمت انتخابی صفحه کشیده و به حالت چند پنجره ای تغییر داد.
  • اگر کاربر دکمه Browse را به مدت طولانی فشار دهد، دستگاه عملکرد فعلی را به حالت چند پنجره ای تغییر می دهد و صفحه نمای کلی را باز می کند، جایی که کاربر می تواند عملیات دیگری را برای نمایش با هم انتخاب کند.

در این حالت، تنها آخرین عملیاتی که کاربر با آن تعامل داشته، در هر لحظه فعال است. چنین عملیاتی در نظر گرفته شده است بالاترین. تمام عملیات های دیگر به حالت تعلیق در می آیند، حتی اگر نمایش داده شوند. با این حال، سیستم به عملیات معلق اما قابل مشاهده اولویت بیشتری نسبت به عملیات نامرئی می دهد. اگر کاربر با یکی از فعالیت های تعلیق شده تعامل داشته باشد، از سر گرفته می شود و بیشترین فعالیت قبلی به حالت تعلیق در می آید.

توجه داشته باشید.در حالت چند پنجره ای، برنامه را می توان به حالت تعلیق درآورد و همچنان برای کاربر قابل مشاهده باشد. یک برنامه ممکن است نیاز به ادامه عملیات خود داشته باشد حتی اگر به حالت تعلیق درآمده باشد. به عنوان مثال، یک برنامه قابل مشاهده متوقف شده که در حال پخش یک ویدیو است همچنان ویدیو را نشان می دهد. به همین دلیل ما نهتوصیه می کنیم پخش را در کنترلرهای چنین برنامه هایی متوقف کنید. در عوض، باید ویدیو را متوقف کنید و پخش را در ادامه دهید.

اگر کاربر برنامه را به حالت چند پنجره ای بیاورد، سیستم عملیات تغییر پیکربندی را همانطور که در سند مشخص شده است اطلاع می دهد. در واقع، این تغییر همان تأثیری را بر چرخه عمر فعالیت دارد که اعلان برنامه توسط سیستم در مورد انتقال دستگاه از جهت عمودی به افقی، فقط اندازه های صفحه تغییر می کند، نه جهت. همانطور که در سند توضیح داده شد، اکتیویتی می تواند به تنهایی از عهده تغییر پیکربندی برآید، یا می تواند به سیستم اجازه دهد پنجره فعالیت را حذف کرده و آن را با ابعاد جدید دوباره ایجاد کند.

اگر کاربر یکی از طرفین پنجره را بزرگ کند، سیستم پنجره عملیات را با توجه به عملکرد کاربر تغییر اندازه می دهد و در صورت نیاز آن را اعمال می کند. اگر برنامه زمان لازم برای ترسیم نواحی جدید را نداشته باشد، سیستم به طور موقت آنها را با یک رنگ، یک ویژگی مشخص یا ویژگی سبک windowBackgroundFallback پیش فرض پر می کند.

پیکربندی یک برنامه برای حالت چند پنجره ای

اگر برنامه شما برای Android N است، می توانید مشخص کنید که چگونه (و آیا) عملیات برنامه شما از چند پنجره پشتیبانی می کند. ویژگی‌های کنترل اندازه و طرح‌بندی در مانیفست تنظیم می‌شوند. تنظیمات ویژگی یک اکتیویتی ریشه برای همه فعالیت‌های موجود در پشته وظیفه آن اعمال می‌شود.

توجه داشته باشید.اگر یک برنامه چند جهته با SDK زودتر از Android N ساخته شده باشد و کاربر برنامه را در حالت چند پنجره ای راه اندازی کند، سیستم برنامه را مجبور به تغییر اندازه می کند. سیستم کادر محاوره ای هشداری را نشان می دهد که برنامه ممکن است به روشی غیرمنتظره کار کند. سیستم نهاندازه پنجره را برای برنامه های کاربردی با جهت ثابت تغییر می دهد. اگر کاربر بخواهد چنین برنامه ای را در حالت چند پنجره ای باز کند، کل صفحه را اشغال می کند.

android:resizeableActivity

یا manifest برای فعال یا غیرفعال کردن حالت چند پنجره ای:

Android:resizeableActivity=["درست" | "کاذب"]

اگر این ویژگی روی true تنظیم شود، فعالیت را می توان در حالت تقسیم صفحه و حالت آزاد اجرا کرد. اگر مشخصه روی false تنظیم شود، عملیات از حالت چند پنجره ای پشتیبانی نمی کند. اگر مقدار نادرست باشد و کاربر سعی کند فعالیت را در حالت چند پنجره ای اجرا کند، فعالیت تمام صفحه را پر می کند.

اگر برنامه Android N را هدف قرار می دهد، اما هیچ مقداری برای این ویژگی مشخص نشده است، مقدار پیش فرض درست است.

android:supportsPictureInPicture

این ویژگی را روی یک گره تنظیم کنید برای نشان دادن اینکه آیا عملیات از حالت تصویر در تصویر پشتیبانی می کند یا خیر. اگر android:resizeableActivity روی false تنظیم شود، این ویژگی نادیده گرفته می شود.

Android:supportsPictureInPicture=["درست" | "کاذب"]

ویژگی های چیدمان

در عنصر مانیفست Android N چندین ویژگی را پشتیبانی می کند که رفتار عملیات را در حالت چند پنجره ای تعریف می کند.

Android:defaultWidth عرض پیش فرض پنجره فعالیت در حالت آزاد. android:defaultHeight ارتفاع پیش‌فرض پنجره فعالیت در حالت آزاد. android:gravity موقعیت شروع پنجره فعالیت در حالت آزاد. برای مقادیر معتبر به توضیحات کلاس مراجعه کنید. android:minimalSize حداقل ارتفاع و عرض پنجره فعالیت در حالت تقسیم صفحه و حالت آزاد. اگر کاربر خط جداکننده را در حالت تقسیم صفحه حرکت دهد تا پنجره عملیات کوچکتر از حداقل تعیین شده باشد، سیستم آن را به اندازه درخواستی کاربر برش می دهد.

مثال کد زیر نحوه تنظیم اندازه و موقعیت پیش فرض پنجره فعالیت و همچنین حداقل اندازه آن را در حالت آزاد نشان می دهد:

راه اندازی یک برنامه در حالت چند پنجره ای

Android N ویژگی های جدیدی را برای پشتیبانی از برنامه ها در حالت چند پنجره ای به ارمغان می آورد.

ویژگی های در دسترس در حالت چند پنجره ای وجود ندارد

برخی از ویژگی‌ها در حالت چند پنجره‌ای غیرفعال یا نادیده گرفته می‌شوند، زیرا برای عملیاتی که همزمان با سایر عملیات‌ها یا برنامه‌ها روی صفحه نمایش دستگاه نمایش داده می‌شود، منطقی نیستند. در زیر نمونه هایی از چنین احتمالاتی آورده شده است.

  • برخی از گزینه های سفارشی سازی غیرفعال هستند. برای مثال، برنامه‌ها نمی‌توانند نوار وضعیت را پنهان کنند مگر اینکه در حالت تمام صفحه اجرا شوند.
  • سیستم تغییرات ویژگی را نادیده می گیرد.

اعلان ها و درخواست ها را در حالت چند پنجره ای تغییر دهید

Activity.inMultiWindow() این متد را فراخوانی کنید تا ببینید آیا فعالیت در حالت چند پنجره ای است یا خیر. Activity.inPictureInPicture() این متد را فراخوانی کنید تا ببینید آیا فعالیت در حالت تصویر در تصویر است یا خیر.

توجه داشته باشید.حالت تصویر در تصویر یک مورد خاص از حالت چند پنجره ای است. اگر متد myActivity.inPictureInPicture() true را برگرداند، myActivity.inMultiWindow() نیز true را برمی گرداند.

Activity.onMultiWindowChanged() سیستم این متد را زمانی فراخوانی می کند که اکتیویتی وارد حالت چند پنجره ای یا خارج شود. سیستم در صورتی که عملیات وارد حالت چند پنجره ای شود، روش true و در صورت خروج از آن، false را ارسال می کند. Activity.onPictureInPictureChanged() سیستم این متد را زمانی فراخوانی می کند که اکتیویتی وارد حالت تصویر در تصویر شود. اگر عملیات وارد حالت تصویر در تصویر شود، سیستم روش true و در صورت خروج false را ارسال می کند.

شروع عملیات جدید در حالت چند پنجره ای

هنگام شروع یک فعالیت جدید، می توانید به سیستم بگویید در صورت امکان پنجره فعالیت جدید را در کنار فعالیت فعلی نشان دهد. برای این کار از پرچم Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT استفاده کنید. این پرچم رفتار زیر را درخواست می کند.

  • اگر دستگاه در حالت تقسیم صفحه باشد، سیستم سعی می کند یک پنجره فعالیت جدید در کنار پنجره ای که آن را راه اندازی کرده است ایجاد کند تا دو فعالیت را روی صفحه نمایش دهد. تضمینی وجود ندارد که سیستم قادر به انجام این کار باشد، اما در صورت امکان، عملیات در کنار یکدیگر نمایش داده می شوند.
  • اگر دستگاه در حالت تقسیم صفحه نباشد، این پرچم نادیده گرفته می شود.

اگر دستگاه هنگام شروع یک فعالیت جدید در حالت آزاد قرار دارد، می توانید اندازه و موقعیت پنجره فعالیت جدید را با فراخوانی متد ActivityOptions.setLaunchBounds () تنظیم کنید. اگر دستگاه در حالت چند پنجره ای نباشد، این روش نادیده گرفته می شود.

توجه داشته باشید.اگر یک اکتیویتی را در پشته وظیفه اجرا کنید، جایگزین اکتیویتی روی صفحه می شود و تمام ویژگی های چند پنجره ای آن را به ارث می برد. برای شروع یک فعالیت جدید در یک پنجره جداگانه در حالت چند پنجره ای، باید در یک پشته وظیفه جدید شروع شود.

پشتیبانی را بکشید و رها کنید

android.view.DropPermissions یک شی نشانه برای تعیین مجوزها برای برنامه ای که داده ها در آن رها می شوند. View.startDragAndDrop() نام مستعار جدید برای. برای فعال کردن کشیدن بین عملیات، پرچم View.DRAG_FLAG_GLOBAL جدید را پاس کنید. اگر نیاز به دادن مجوز خواندن یا نوشتن URI برای عملیات دریافت دارید، پرچم جدید View.DRAG_FLAG_GLOBAL_URI_READ یا View.DRAG_FLAG_GLOBAL_URI_WRITE را به ترتیب ارسال کنید. View.cancelDragAndDrop() عملیات کشیدن فعلی را لغو می کند. این روش را فقط می توان توسط برنامه ای فراخوانی کرد که عملیات کشیدن در آن آغاز شده است. View.updateDragShadow() جایگزین سایه عملیات کشیدن فعلی می شود. این روش را فقط می توان توسط برنامه ای فراخوانی کرد که عملیات کشیدن در آن آغاز شده است. Activity.requestDropPermissions() مجوزهایی را برای URIهای محتوای ارسال شده در شی در درخواست می کند.

تست برنامه در حالت چند پنجره ای

چه برنامه Android N خود را به روز کنید یا نه، باید رفتار چند پنجره ای آن را تأیید کنید تا در صورتی که کاربر سعی کند آن را در حالت چند پنجره ای در دستگاه Android N اجرا کند.

تست نصب دستگاه

اگر Android N را روی دستگاه خود نصب کنید، حالت تقسیم صفحه به طور خودکار پشتیبانی می شود.

اگر برنامه بدون استفاده از N Preview SDK ایجاد شده باشد

اگر از N Preview SDK برای ایجاد برنامه استفاده نکرده‌اید و کاربر سعی می‌کند آن را در حالت چند پنجره‌ای اجرا کند، سیستم پنجره برنامه را مجبور به تغییر اندازه می‌کند اگر جهت آن ثابت نشود.

اگر برنامه روی یک جهت ثابت تنظیم نشده است، باید آن را روی یک دستگاه Android N اجرا کنید و سعی کنید آن را در حالت تقسیم صفحه قرار دهید. مطمئن شوید که برنامه پس از تغییر اندازه اجباری به خوبی کار می کند.

اگر برنامه روی یک جهت ثابت تنظیم شده است، سعی کنید آن را در حالت چند پنجره ای قرار دهید. اطمینان حاصل کنید که برنامه هنگام انجام این کار در حالت تمام صفحه باقی می ماند.

اگر برنامه از حالت چند پنجره ای پشتیبانی می کند

اگر از N Preview SDK برای ساخت برنامه خود استفاده کرده اید و پشتیبانی از چند پنجره را غیرفعال نکرده اید، برنامه خود را در حالت های تقسیم صفحه و حالت آزاد همانطور که در زیر توضیح داده شده است آزمایش کنید.

  • برنامه را در حالت تمام صفحه اجرا کنید و سپس با فشار طولانی دکمه «مرور» به حالت چند پنجره ای بروید. مطمئن شوید که برنامه به درستی بین حالت ها جابجا می شود.
  • برنامه را مستقیماً در حالت چند پنجره ای اجرا کنید و بررسی کنید که خوب کار کند. با فشار دادن دکمه Browse، سپس فشار طولانی نوار عنوان برنامه و کشیدن آن به یکی از مناطق برجسته روی صفحه، می توانید یک برنامه را در حالت چند پنجره ای راه اندازی کنید.
  • با کشیدن خط تقسیم، اندازه پنجره برنامه را در حالت تقسیم صفحه تغییر دهید. مطمئن شوید که تغییر اندازه خراب نمی شود و عناصر UI مورد نیاز قابل مشاهده باقی می مانند.
  • اگر حداقل اندازه را برای پنجره برنامه مشخص کرده اید، سعی کنید آن را کوچکتر از حداقل تنظیم کنید. مطمئن شوید که نمی توانید اندازه را زیر حداقل تعیین شده تنظیم کنید.
  • در طول تمام آزمایشات، عملکرد برنامه را نظارت کنید - باید قابل قبول باشد. به عنوان مثال، مطمئن شوید که پس از تغییر اندازه پنجره برنامه، تاخیر زیادی در به روز رسانی رابط ایجاد نشود.

چک لیست تست

برای تست عملکرد یک برنامه کاربردی در حالت چند پنجره ای، عملیات زیر را انجام دهید. سعی کنید آنها را در حالت تقسیم صفحه و چند پنجره اجرا کنید، مگر اینکه خلاف آن ذکر شده باشد.

  • به حالت چند پنجره ای بروید و از آن خارج شوید.
  • از برنامه خود به برنامه دیگری بروید و بررسی کنید که آیا برنامه قابل مشاهده است اما فعال نیست یا خیر. به عنوان مثال، اگر یک برنامه در حال نمایش یک ویدیو باشد، باید در حالی که کاربر با برنامه دیگری کار می کند، به پخش ادامه دهد.
  • در حالت تقسیم صفحه، سعی کنید با بزرگتر و کوچکتر کردن پنجره برنامه، خط تقسیم را جابه جا کنید. زمانی که پنجره های دو برنامه در کنار هم و روی هم قرار دارند، این عملیات را امتحان کنید. مطمئن شوید که برنامه از کار نمی افتد، عناصر مورد نیاز قابل مشاهده هستند و تغییر اندازه زیاد طول نمی کشد.
  • اندازه پنجره برنامه را چند بار متوالی به سرعت تغییر دهید. مطمئن شوید که برنامه فریز نمی‌شود یا حافظه آن نشتی ندارد. برای اطلاعات در مورد بررسی میزان استفاده از حافظه برنامه، به سند مراجعه کنید.
  • با برنامه در پیکربندی های مختلف پنجره بازی کنید و مطمئن شوید که مطابق انتظار عمل می کند. متن باید به راحتی خوانده شود و عناصر رابط نباید خیلی کوچک باشند.

اگر پشتیبانی چند پنجره ای را غیرفعال کرده اید

اگر با تنظیم ویژگی android:resizableActivity="false" پشتیبانی از چند پنجره را غیرفعال کرده اید، برنامه را روی دستگاه Android N اجرا کنید و سعی کنید آن را در حالت های آزاد و تقسیم صفحه قرار دهید. اطمینان حاصل کنید که برنامه هنگام انجام این کار در حالت تمام صفحه باقی می ماند.

ابعاد فیزیکی نمایشگرهای دستگاه های تلفن همراه مدرن بزرگتر می شود و در عین حال راحتی کار با آنها را حفظ می کند. بنابراین مشکل استفاده منطقی تر از فضای نمایشگر وجود دارد. در واقع، حتی در اندروید 6.0، آنها هنوز جرات نداشتند عملکرد حالت تقسیم صفحه یا پنجره را معرفی کنند، اگرچه قابلیت های سیستم و قدرت گجت ها این امکان را می دهد. اما وقتی تولیدکنندگان شک دارند، جامعه آن را زنده می کند.

فعال سازی چارچوب Xposed

مرحله دوم نصب و فعال سازی یک ماژول خاص در Xposed به نام XHaloFloatingWindow است. این را می توان از طریق خود فریمورک انجام داد، اما در این مورد برنامه مورد نیاز ما به زبان انگلیسی خواهد بود، که با تنظیمات و ویژگی های فراوان غیرقابل قبول است.
بنابراین، می‌توانید پنجره Russified XHaloFloating را از اینجا دانلود کنید:

ماژول به عنوان یک برنامه اندروید معمولی نصب شده است، اما برای عملکرد صحیح باید آن را فعال کنید و سپس دستگاه را راه اندازی مجدد کنید. برای انجام این کار، در تب "ماژول های نصب شده" به Xposed بروید، XHaloFloatingWindow را در لیستی که ظاهر می شود پیدا کنید، کادر را علامت بزنید و به هر روشی مناسب راه اندازی مجدد کنید.
حالا می توانیم به سراغ خود برنامه برویم. می توانید آن را از لیست معمول برنامه ها راه اندازی کنید. صفحه اصلی یکی از برگه های تنظیمات است؛ در مرحله اولیه، فقط باید مورد "Windowed mode" را فعال کنید. سپس به سمت چپ بلغزانید تا به تب "Window Behavior" بروید. در دسته "راه اندازی برنامه ها"، روی "گزینه های لیست سفید/سیاه" ضربه بزنید. در منوی باز شده مورد دوم را انتخاب کنید.

این همه است، اکنون هر برنامه ای به عنوان پنجره به تعداد دلخواه باز می شود که می توان آنها را کشید، کوچک کرد یا به بالا یا پایین صفحه پین ​​کرد. پنجره های کوچک شده از نوار اعلان در دسترس خواهند بود. با مطالعه جزئیات بیشتر تنظیمات XHaloFloatingWindow، کاربر می تواند رفتار برنامه ها را به طور کامل مطابق با نیازهای خود سفارشی کند، زیرا این پروژه امکان انجام این کار را در طیف گسترده ای از روش ها فراهم می کند.

XHaloFloatingWindow در حال حاضر در نسخه بتا است، بنابراین ممکن است نقص هایی وجود داشته باشد، تا اینکه دستگاه نمی تواند روشن شود.
در این مورد، وحشت نکنید، بلکه مراحل زیر را انجام دهید:

  1. دوباره دستگاه خود را راه اندازی مجدد کنید.
  2. کش را از طریق بازیابی پاک کنید.
  3. حافظه پنهان دالویک را پاک کنید.
  4. فایل /data/data/de.robv.android.xposed.installer/conf/modules.list را حذف کنید، می توانید این کار را از طریق ADB یا از طریق بازیابی انجام دهید.
  5. Xposed را با استفاده از آرشیو مناسب حذف کنید.

بعد از هر مورد، باید دستگاه را راه اندازی مجدد کنید و بررسی کنید که آیا مشکل برطرف شده است.

گوگل در نسخه جدید این سیستم عامل یک ویژگی بسیار ضروری - چند پنجره ای را در اندروید نوقا پیاده سازی کرده است. این ویژگی به شما امکان می دهد هر برنامه ای را در ویندوز اجرا کنید و نه مانند سامسونگ و ال جی که به شما اجازه می دهد فقط برای برخی برنامه ها از چند پنجره ای استفاده کنید. این بدان معنی است که ویژگی جدید تقریباً برای همه برنامه ها و همیشه کار می کند.

با این حال، محدودیت هایی وجود دارد. اول، این ویژگی احتمالاً با برنامه‌های قدیمی که در زمان خود به‌روزرسانی نشده‌اند، کار نخواهد کرد. ثانیاً نمی توانید همان برنامه را در یک پنجره جدید راه اندازی کنید. خوشبختانه راه حلی برای دومی وجود دارد: اپلیکیشنی به نام Windows Parallel for Nougat.

قبل از اینکه نحوه استفاده از Windows Parallel را به شما آموزش دهیم، شایان ذکر است که این برنامه در حال توسعه آلفا است و آزمایشی است، بنابراین ممکن است برخی از اشکالات رخ دهد. این را در هنگام آزمایش برنامه در نظر داشته باشید! همچنین، ناگفته نماند (اما به هر حال می گویم): برای استفاده از این برنامه باید Nougat داشته باشید.

بنابراین، اکنون می توانید نحوه اجرای چند پنجره ای در اندروید نوقا را بگویید. ابتدا Windows Parallel را نصب کنید (رایگان است). پس از نصب، برنامه را اجرا کنید.

نحوه نصب ویندوز موازی

پس از راه اندازی برنامه، یک هشدار نشان داده می شود که برنامه آزمایشی است. روی فیلد «خواندم و فهمیدم» کلیک کنید، سپس روی «ادامه» کلیک کنید.

در صفحه بعدی، باید دو مجوز برای استفاده از تمام ویژگی های Windows Parallel بدهید. روی اولین سوئیچ "مجوز ترسیم روی برنامه ها" کلیک کنید، به منوی مجوز هدایت می شوید، جایی که باید آن را فعال کنید. پس از فعال شدن، به برنامه Windows Parallel برگردید.

بعد، در منوی اصلی، روی سوئیچ "فعال کردن سرویس دسترسی" کلیک کنید. شما به منوی دسترس‌پذیری هدایت می‌شوید، جایی که باید Windows Parallel را برای Nougat فعال کنید. یک پنجره پاپ آپ ظاهر می شود که به شما می گوید برنامه به چه چیزی دسترسی دارد، روی OK کلیک کنید. مجددا، فقط دکمه بازگشت را فشار دهید تا به برنامه اصلی بازگردید.

در نهایت، شما باید "ابعاد هات اسپات" را قرار دهید. اینجاست که منوی Windows Parallel نشان داده می شود. به‌طور پیش‌فرض، روی وسط سمت راست صفحه تنظیم شده است، که مکانی عالی برای انجام این کار است. من از این تنظیمات در طول آموزش استفاده خواهم کرد.

این کار نصب ویندوز موازی را تکمیل می کند. اکنون می توانید از چند پنجره ای در اندروید نوقا استفاده کنید.

نحوه استفاده از ویندوز موازی

ابتدا، از سمت راست صفحه به وسط بکشید - جایی که قبلاً هنگام تنظیم "ابعاد نقطه اتصال" در مورد آن صحبت کردیم. منوی Windows Parallel باز می شود.

در اینجا سه ​​گزینه از بالا به پایین وجود دارد: منوی برنامه را باز کنید، یک جلسه چند پنجره ای راه اندازی کنید و برنامه را آینه کنید.

اولین گزینه منوی برنامه را باز می کند که یک راه سریع و آسان برای باز کردن یک برنامه است. با انتخاب یک برنامه از منوی برنامه، برنامه به طور خودکار در حالت چند پنجره ای باز می شود. همچنین شایان ذکر است که نمایش تمام برنامه های نصب شده در صورت وجود تعداد زیادی از آنها زمان می برد.

نماد دوم برنامه را در حالت چند پنجره ای راه اندازی می کند. لیستی از فرآیندهای اخیراً باز شده باز می شود و شما باید برنامه مورد نظر خود را در پایین پنجره انتخاب کنید.

گزینه دوم را می توان بدون استفاده از Windows Parallel استفاده کرد. گزینه سوم قدرتمندترین است، به شما امکان می دهد از آینه برنامه در حالت چند پنجره ای استفاده کنید. با این حال، ممکن است گیج کننده به نظر برسد.

برای استفاده از این قابلیت ابتدا باید حداقل یک اپلیکیشن را در حالت پنجره ای اجرا کنید. منوی Windows Parallel را باز کنید و گزینه پایین را انتخاب کنید. یک پیام پاپ آپ ظاهر می شود که به شما می گوید برای دریافت آینه باید یک برنامه را انتخاب کنید.

برترین مقالات مرتبط