במכשירים עם Android 7.0 ואילך, אפשר להציג כמה אפליקציות בו-זמנית באמצעות תצוגת חלונות מרובים. ב-Android יש תמיכה בשלושה תצורות של חלונות מרובים:
- מסך מפוצל הוא תצורת ברירת המחדל של חלונות מרובים, שמציעה שתי חלוניות פעילות שבהן המשתמשים יכולים למקם אפליקציות.
- התצוגה Freeform מאפשרת למשתמשים לשנות באופן דינמי את הגודל של חלונות הפעילות, ולהציג יותר משתי אפליקציות במסך.
- תמונה בתוך תמונה (PiP) מאפשרת למכשירי Android להפעיל תוכן וידאו בחלון קטן בזמן שהמשתמש מבצע פעולות באפליקציות אחרות.
הטמעה
התמיכה בכמה חלונות מופעלת כברירת מחדל ב-Android 7.0 ואילך.
כדי להשבית אותו, מגדירים את הדגל config_supportsMultiWindow
לערך false
בקובץ config.xml של המכשיר.
התכונה 'חלונות מרובים' מושבתת כברירת מחדל בכל המכשירים עם זיכרון RAM נמוך (מכשירים שמצהירים על ActivityManager.isLowRam()
). במכשירים עם זיכרון RAM נמוך מתעלמים מהערך של הדגל config_supportsMultiWindow
.
מסך מפוצל
מצב ברירת המחדל של 'חלונות מרובים' הוא מצב מסך מפוצל, שבו ממשק המשתמש של המערכת מחולק באמצע המכשיר בפריסה לאורך או לרוחב. המשתמשים יכולים לשנות את גודל החלון על ידי גרירה של קו החלוקה לצדדים או מלמעלה למטה, בהתאם לכיוון המכשיר.
אחרי שמפעילים את התצוגה במסך מפוצל, יצרני המכשירים יכולים לבחור אם להפעיל את התצוגה בפורמט גמיש או את התצוגה בחלון מרחף.
ב-Android מגרסה 8.0 ואילך, כשהמשתמש מקייש על דף הבית, מופיעה דחיסה של מרכז האפליקציות כדי לשפר את התצוגה במסך מפוצל. פרטי ההטמעה מפורטים במאמר אינטראקציות במסך מפוצל.
Freeform
אחרי שמפעילים את מצב החלונות הרבים באמצעות הדגל config_supportsMultiWindow
, יצרני המכשירים יכולים לאפשר שינוי הגודל והמיקום של החלונות. המצב הזה שימושי במיוחד במכשירים גדולים יותר, כמו טאבלטים.
כדי לתמוך במצב 'שינוי הגודל והמיקום של החלונות', מפעילים את תכונת המערכת PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
בקטע /android/frameworks/base/core/java/android/content/pm/PackageManager.java
ומגדירים את config_freeformWindowManagement
לערך true
בקטע config.xml.
.
<bool name="config_freeformWindowManagement">true</bool>
תמונה בתוך תמונה
אחרי שמפעילים את מצב החלונות הרבים באמצעות הדגל config_supportsMultiWindow
, יצרני המכשירים יכולים לתמוך בתמונה בתוך תמונה, שמאפשרת למשתמשים לצפות בסרטון תוך כדי גלישה בפעילויות אחרות. התכונה הזו מיועדת למכשירי Android Television, אבל יכול להיות שסוגים אחרים של מכשירים יתמכו בה.
כדי לתמוך ב-PIP, מפעילים את תכונת המערכת PackageManager#FEATURE_PICTURE_IN_PICTURE
ב-/android/frameworks/base/core/java/android/content/pm/PackageManager.java
.
פרטים נוספים על הטמעת התכונה 'תמונה בתוך תמונה' במכשירים עם Android מגרסה 8.0 ואילך מופיעים בדף תמונה בתוך תמונה.
ממשק משתמש של המערכת
תמיכה בכל ממשקי המשתמש הרגילים של מערכת ההפעלה בהתאם למסמכים למפתחים בנושא תמיכה בריבוי חלונות.
אפליקציות
כדי לתמוך במצב 'חלונות מרובים' באפליקציות שהועלו מראש, תוכלו לעיין בתיעוד למפתחים של Android.
אימות
כדי לאמת את ההטמעה של תכונת 'חלונות מרובים', מריצים את בדיקות CTS הרלוונטיות ופועלים לפי הוראות הבדיקה של תכונת 'חלונות מרובים'.
ב-Android 7.0, הבדיקות נמצאות ב-
/platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
.
ב-Android מגרסה 8.0 ואילך, הבדיקות נמצאות ב-
/platform/cts/tests/framework/base/activitymanager/src/android/server/am
.