تصویر در تصویر

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

شکل 1: کاربران شما می توانند تجربه ویدیویی خود را حتی زمانی که در برنامه شما نیستند ادامه دهند

غذای آماده

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

پشتیبانی از تصویر در تصویر را به برنامه خود اضافه کنید

به‌طور پیش‌فرض، سیستم به‌طور خودکار از PiP برای برنامه‌ها پشتیبانی نمی‌کند و باید برای پشتیبانی از این ویژگی اعلام شود.

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

کنترل ها

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

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

در حالت PiP، فعالیت شما در یک پنجره کوچک نمایش داده می شود. کاربران نمی‌توانند در این حالت با سایر عناصر رابط کاربری برنامه شما تعامل داشته باشند و دیدن جزئیات عناصر کوچک UI در پنجره PiP ممکن است دشوار باشد.

شکل 2: کنترل های پیش فرض PiP


شکل 3: نمونه ای از کنترل های PiP سفارشی

انتقال ها

ورود صاف به انیمیشن PiP

کاربری که حالت PiP را راه‌اندازی می‌کند باعث می‌شود فعالیت فعلی از تمام صفحه به یک پنجره کوچک کوچک شود، که همچنان محتوا را بدون پوشاندن هیچ رابط کاربری نشان می‌دهد.

اندروید 12 بهبودهای زیبایی قابل توجهی را به انتقال متحرک بین پنجره های تمام صفحه و PiP اضافه کرد. ما قویاً توصیه می کنیم همه تغییرات قابل اجرا را اجرا کنید. هنگامی که این کار را انجام دادید، این تغییرات به طور خودکار به صفحه نمایش های بزرگ مانند تاشوها و تبلت ها بدون نیاز به کار بیشتر تبدیل می شوند.

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

با شروع در اندروید 12، پرچم PictureInPictureParams.Builder.setAutoEnterEnabled(true) انیمیشن بسیار روان تری را برای انتقال به محتوای ویدیویی در حالت PiP با استفاده از پیمایش حرکتی ارائه می دهد - به عنوان مثال، هنگام کشیدن انگشت از صفحه تمام صفحه به سمت بالا به سمت خانه. اگر برنامه شما در دسته برنامه های ENTERTAINMENT ، COMMUNICATION ، یا VIDEO_PLAYER قرار می گیرد، این را توصیه می کنیم.

اگر برنامه شما این تغییر را شامل نمی شود، انتقال PiP با پیمایش اشاره ای همچنان کاربردی است اما انیمیشن ها کمتر صیقلی هستند. ویدئو 1 نمونه ای از این را نشان می دهد: پنجره در نماد برنامه کوچک می شود و ناپدید می شود، سپس پس از تکمیل انتقال دوباره ظاهر می شود.

ویدئو 1: تجربه انتقال کمتر صیقلی زمانی که PiP به درستی setAutoEnterEnabled ندارد

ویدئو 2 نمونه ای از همان انتقال را نشان می دهد، اما با افزودن setAutoEnterEnabled به برنامه.

ویدئو 2: تجربه انتقال جلا

تصاویر ویدیویی صاف

هنگامی که PiP را در اندروید 8.0 معرفی کردیم، sourceRectHint ناحیه‌ای از فعالیت را نشان داد که پس از انتقال به PiP قابل مشاهده است - به عنوان مثال، محدودیت‌های نمای ویدیو در پخش‌کننده ویدیو. با شروع اندروید 12، این سیستم عامل از sourceRectHint برای پیاده سازی انیمیشن بسیار روان تری هم هنگام ورود و هم هنگام خروج از حالت PiP استفاده می کند.

اگر برنامه شما sourceRectHint مناسبی ارائه نمی‌دهد، انتقال PiP همچنان کاربردی است، اما انیمیشن‌ها کمتر صیقل داده می‌شوند. به عنوان مثال، ویدیوی 3 نمونه ای کمتر صیقلی از انتقال از حالت تمام صفحه به حالت PiP را نشان می دهد: پس از کوچک شدن پنجره تمام صفحه به پنجره PiP، قبل از اینکه یک بار دیگر ویدیو نمایان شود، با یک پوشش سیاه پوشانده می شود.

ویدئو 3: تجربه انتقال کمتر صیقلی زمانی که PiP sourceRectHint را به درستی پیاده سازی نمی کند

برای مشاهده نمونه‌ای از اینکه انیمیشن PiP زمانی که sourceRectHint به درستی اجرا می‌شود چگونه به نظر می‌رسد، ویدیو 2 را در بخش قبل ببینید.

به نمونه Android Kotlin PictureInPicture به عنوان مرجع برای فعال کردن یک تجربه انتقال صیقلی مراجعه کنید.

استفاده

به کاربران اجازه دهید به تماشای ویدیوی خود نه تنها در برنامه شما، بلکه در سراسر دستگاه خود ادامه دهند. برنامه شما زمانی را کنترل می‌کند که فعالیت فعلی وارد حالت PiP شود – این می‌تواند تعاملی مانند خروج از نمای فعلی یا کشیدن انگشت به بالا برای رفتن به خانه باشد.

در اینجا چند نمونه از اقدامات ممکن است:

  • زمانی که کاربر روی دکمه هوم ضربه می‌زند یا به سمت خانه حرکت می‌کند، یک فعالیت می‌تواند وارد حالت PiP شود. به این ترتیب Google Maps به نمایش مسیرها ادامه می دهد در حالی که کاربر فعالیت دیگری را همزمان انجام می دهد.

    شکل 4: PiP برای ادامه تجربه راهیابی استفاده می شود
  • هنگامی که کاربر از ویدیو برای مرور محتواهای دیگر بازمی گردد، برنامه شما می تواند یک ویدیو را به حالت PiP منتقل کند.

  • برنامه شما می‌تواند یک ویدیو را به حالت PiP تغییر دهد در حالی که کاربر پایان یک قسمت از محتوا را تماشا می‌کند. صفحه اصلی اطلاعات تبلیغاتی یا خلاصه ای از قسمت بعدی سریال را نمایش می دهد.

  • برنامه شما می‌تواند راهی برای کاربران فراهم کند تا در هنگام تماشای ویدیو، محتوای اضافی را در صف قرار دهند. پخش ویدیو در حالت PiP ادامه می یابد در حالی که صفحه اصلی فعالیت انتخاب محتوا را نشان می دهد.

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

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

کاربران می توانند پنجره PiP را به مکان دیگری بکشند.

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

    شکل 5: کنترل های پیش فرض PiP
  • برای جابه‌جایی بین اندازه PiP فعلی و حداکثر یا حداقل اندازه PiP، دو بار روی پنجره ضربه بزنید - برای مثال، دو بار ضربه زدن روی یک پنجره حداکثر آن را به حداقل می‌رساند و عکس آن نیز صادق است.

    شکل 6: جابجایی بین حداقل و حداکثر اندازه PiP با دو بار ضربه زدن
  • پنجره را با کشیدن آن به لبه چپ یا راست پنهان کنید. برای باز کردن پنجره، روی قسمت قابل مشاهده پنجره پنهان شده ضربه بزنید یا آن را به بیرون بکشید.

    شکل 7: PiP مخفی شده است
  • اندازه پنجره PiP را با استفاده از کوچک کردن به زوم تغییر دهید.

  • PiP را به سمت پایین بکشید تا پنجره حذف شود.

    شکل 8: کشیدن انگشت به پایین

برای اطلاعات بیشتر در مورد پیاده سازی PiP، به مستندات توسعه دهنده Picture-in-picture مراجعه کنید.

،

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

شکل 1: کاربران شما می توانند تجربه ویدیویی خود را حتی زمانی که در برنامه شما نیستند ادامه دهند

غذای آماده

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

پشتیبانی از تصویر در تصویر را به برنامه خود اضافه کنید

به‌طور پیش‌فرض، سیستم به‌طور خودکار از PiP برای برنامه‌ها پشتیبانی نمی‌کند و باید برای پشتیبانی از این ویژگی اعلام شود.

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

کنترل ها

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

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

در حالت PiP، فعالیت شما در یک پنجره کوچک نمایش داده می شود. کاربران نمی‌توانند در این حالت با سایر عناصر رابط کاربری برنامه شما تعامل داشته باشند و دیدن جزئیات عناصر کوچک UI در پنجره PiP ممکن است دشوار باشد.

شکل 2: کنترل های پیش فرض PiP


شکل 3: نمونه ای از کنترل های PiP سفارشی

انتقال ها

ورود صاف به انیمیشن PiP

کاربری که حالت PiP را راه‌اندازی می‌کند باعث می‌شود فعالیت فعلی از تمام صفحه به یک پنجره کوچک کوچک شود، که همچنان محتوا را بدون پوشاندن هیچ رابط کاربری نشان می‌دهد.

اندروید 12 بهبودهای زیبایی قابل توجهی را به انتقال متحرک بین پنجره های تمام صفحه و PiP اضافه کرد. ما قویاً توصیه می کنیم همه تغییرات قابل اجرا را اجرا کنید. هنگامی که این کار را انجام دادید، این تغییرات به طور خودکار به صفحه نمایش های بزرگ مانند تاشوها و تبلت ها بدون نیاز به کار بیشتر تبدیل می شوند.

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

با شروع در اندروید 12، پرچم PictureInPictureParams.Builder.setAutoEnterEnabled(true) انیمیشن بسیار روان تری را برای انتقال به محتوای ویدیویی در حالت PiP با استفاده از پیمایش حرکتی ارائه می دهد - به عنوان مثال، هنگام کشیدن انگشت از صفحه تمام صفحه به سمت بالا به سمت خانه. اگر برنامه شما در دسته برنامه های ENTERTAINMENT ، COMMUNICATION ، یا VIDEO_PLAYER قرار می گیرد، این را توصیه می کنیم.

اگر برنامه شما این تغییر را شامل نمی شود، انتقال PiP با پیمایش اشاره ای همچنان کاربردی است اما انیمیشن ها کمتر صیقلی هستند. ویدئو 1 نمونه ای از این را نشان می دهد: پنجره در نماد برنامه کوچک می شود و ناپدید می شود، سپس پس از تکمیل انتقال دوباره ظاهر می شود.

ویدئو 1: تجربه انتقال کمتر صیقلی زمانی که PiP به درستی setAutoEnterEnabled ندارد

ویدئو 2 نمونه ای از همان انتقال را نشان می دهد، اما با افزودن setAutoEnterEnabled به برنامه.

ویدئو 2: تجربه انتقال جلا

تصاویر ویدیویی صاف

هنگامی که PiP را در اندروید 8.0 معرفی کردیم، sourceRectHint ناحیه‌ای از فعالیت را نشان داد که پس از انتقال به PiP قابل مشاهده است - به عنوان مثال، محدودیت‌های نمای ویدیو در پخش‌کننده ویدیو. با شروع اندروید 12، این سیستم عامل از sourceRectHint برای پیاده سازی انیمیشن بسیار روان تری هم هنگام ورود و هم هنگام خروج از حالت PiP استفاده می کند.

اگر برنامه شما sourceRectHint مناسبی ارائه نمی‌دهد، انتقال PiP همچنان کاربردی است، اما انیمیشن‌ها کمتر صیقل داده می‌شوند. به عنوان مثال، ویدیوی 3 نمونه ای کمتر صیقلی از انتقال از حالت تمام صفحه به حالت PiP را نشان می دهد: پس از کوچک شدن پنجره تمام صفحه به پنجره PiP، قبل از اینکه یک بار دیگر ویدیو نمایان شود، با یک پوشش سیاه پوشانده می شود.

ویدئو 3: تجربه انتقال کمتر صیقلی زمانی که PiP sourceRectHint را به درستی پیاده سازی نمی کند

برای مشاهده نمونه‌ای از اینکه انیمیشن PiP زمانی که sourceRectHint به درستی اجرا می‌شود چگونه به نظر می‌رسد، ویدیو 2 را در بخش قبل ببینید.

به نمونه Android Kotlin PictureInPicture به عنوان مرجع برای فعال کردن یک تجربه انتقال صیقلی مراجعه کنید.

استفاده

به کاربران اجازه دهید به تماشای ویدیوی خود نه تنها در برنامه شما، بلکه در سراسر دستگاه خود ادامه دهند. برنامه شما زمانی را کنترل می‌کند که فعالیت فعلی وارد حالت PiP شود – این می‌تواند تعاملی مانند خروج از نمای فعلی یا کشیدن انگشت به بالا برای رفتن به خانه باشد.

در اینجا چند نمونه از اقدامات ممکن است:

  • زمانی که کاربر روی دکمه هوم ضربه می‌زند یا به سمت خانه حرکت می‌کند، یک فعالیت می‌تواند وارد حالت PiP شود. به این ترتیب Google Maps به نمایش مسیرها ادامه می دهد در حالی که کاربر فعالیت دیگری را همزمان انجام می دهد.

    شکل 4: PiP برای ادامه تجربه راهیابی استفاده می شود
  • هنگامی که کاربر از ویدیو برای مرور محتواهای دیگر بازمی گردد، برنامه شما می تواند یک ویدیو را به حالت PiP منتقل کند.

  • برنامه شما می‌تواند یک ویدیو را به حالت PiP تغییر دهد در حالی که کاربر پایان یک قسمت از محتوا را تماشا می‌کند. صفحه اصلی اطلاعات تبلیغاتی یا خلاصه ای از قسمت بعدی سریال را نمایش می دهد.

  • برنامه شما می‌تواند راهی برای کاربران فراهم کند تا در هنگام تماشای ویدیو، محتوای اضافی را در صف قرار دهند. پخش ویدیو در حالت PiP ادامه می یابد در حالی که صفحه اصلی فعالیت انتخاب محتوا را نشان می دهد.

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

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

کاربران می توانند پنجره PiP را به مکان دیگری بکشند.

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

    شکل 5: کنترل های پیش فرض PiP
  • برای جابه‌جایی بین اندازه PiP فعلی و حداکثر یا حداقل اندازه PiP، دو بار روی پنجره ضربه بزنید - برای مثال، دو بار ضربه زدن روی یک پنجره حداکثر آن را به حداقل می‌رساند و عکس آن نیز صادق است.

    شکل 6: جابجایی بین حداقل و حداکثر اندازه PiP با دو بار ضربه زدن
  • پنجره را با کشیدن آن به لبه چپ یا راست پنهان کنید. برای باز کردن پنجره، روی قسمت قابل مشاهده پنجره پنهان شده ضربه بزنید یا آن را به بیرون بکشید.

    شکل 7: PiP مخفی شده است
  • اندازه پنجره PiP را با استفاده از کوچک کردن به زوم تغییر دهید.

  • PiP را به سمت پایین بکشید تا پنجره حذف شود.

    شکل 8: کشیدن انگشت به پایین

برای اطلاعات بیشتر در مورد پیاده سازی PiP، به مستندات توسعه دهنده Picture-in-picture مراجعه کنید.

،

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

شکل 1: کاربران شما می توانند تجربه ویدیویی خود را حتی زمانی که در برنامه شما نیستند ادامه دهند

غذای آماده

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

پشتیبانی از تصویر در تصویر را به برنامه خود اضافه کنید

به‌طور پیش‌فرض، سیستم به‌طور خودکار از PiP برای برنامه‌ها پشتیبانی نمی‌کند و باید برای پشتیبانی از این ویژگی اعلام شود.

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

کنترل ها

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

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

در حالت PiP، فعالیت شما در یک پنجره کوچک نمایش داده می شود. کاربران نمی‌توانند در این حالت با سایر عناصر رابط کاربری برنامه شما تعامل داشته باشند و دیدن جزئیات عناصر کوچک UI در پنجره PiP ممکن است دشوار باشد.

شکل 2: کنترل های پیش فرض PiP


شکل 3: نمونه ای از کنترل های PiP سفارشی

انتقال ها

ورود صاف به انیمیشن PiP

کاربری که حالت PiP را راه‌اندازی می‌کند باعث می‌شود فعالیت فعلی از تمام صفحه به یک پنجره کوچک کوچک شود، که همچنان محتوا را بدون پوشاندن هیچ رابط کاربری نشان می‌دهد.

اندروید 12 بهبودهای زیبایی قابل توجهی را به انتقال متحرک بین پنجره های تمام صفحه و PiP اضافه کرد. ما قویاً توصیه می کنیم همه تغییرات قابل اجرا را اجرا کنید. هنگامی که این کار را انجام دادید، این تغییرات به طور خودکار به صفحه نمایش های بزرگ مانند تاشوها و تبلت ها بدون نیاز به کار بیشتر تبدیل می شوند.

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

با شروع در اندروید 12، پرچم PictureInPictureParams.Builder.setAutoEnterEnabled(true) انیمیشن بسیار روان تری را برای انتقال به محتوای ویدیویی در حالت PiP با استفاده از پیمایش حرکتی ارائه می دهد - به عنوان مثال، هنگام کشیدن انگشت از صفحه تمام صفحه به سمت بالا به سمت خانه. اگر برنامه شما در دسته برنامه های ENTERTAINMENT ، COMMUNICATION ، یا VIDEO_PLAYER قرار می گیرد، این را توصیه می کنیم.

اگر برنامه شما این تغییر را شامل نمی شود، انتقال PiP با پیمایش اشاره ای همچنان کاربردی است اما انیمیشن ها کمتر صیقلی هستند. ویدئو 1 نمونه ای از این را نشان می دهد: پنجره در نماد برنامه کوچک می شود و ناپدید می شود، سپس پس از تکمیل انتقال دوباره ظاهر می شود.

ویدئو 1: تجربه انتقال کمتر صیقلی زمانی که PiP به درستی setAutoEnterEnabled ندارد

ویدئو 2 نمونه ای از همان انتقال را نشان می دهد، اما با افزودن setAutoEnterEnabled به برنامه.

ویدئو 2: تجربه انتقال جلا

تصاویر ویدیویی صاف

هنگامی که PiP را در اندروید 8.0 معرفی کردیم، sourceRectHint ناحیه‌ای از فعالیت را نشان داد که پس از انتقال به PiP قابل مشاهده است - به عنوان مثال، محدودیت‌های نمای ویدیو در پخش‌کننده ویدیو. با شروع اندروید 12، این سیستم عامل از sourceRectHint برای پیاده سازی انیمیشن بسیار روان تری هم هنگام ورود و هم هنگام خروج از حالت PiP استفاده می کند.

اگر برنامه شما sourceRectHint مناسبی ارائه نمی‌دهد، انتقال PiP همچنان کاربردی است، اما انیمیشن‌ها کمتر صیقل داده می‌شوند. به عنوان مثال، ویدیوی 3 نمونه ای کمتر صیقلی از انتقال از حالت تمام صفحه به حالت PiP را نشان می دهد: پس از کوچک شدن پنجره تمام صفحه به پنجره PiP، قبل از اینکه یک بار دیگر ویدیو نمایان شود، با یک پوشش سیاه پوشانده می شود.

ویدئو 3: تجربه انتقال کمتر صیقلی زمانی که PiP sourceRectHint را به درستی پیاده سازی نمی کند

برای مشاهده نمونه‌ای از اینکه انیمیشن PiP زمانی که sourceRectHint به درستی اجرا می‌شود چگونه به نظر می‌رسد، ویدیو 2 را در بخش قبل ببینید.

به نمونه Android Kotlin PictureInPicture به عنوان مرجع برای فعال کردن یک تجربه انتقال صیقلی مراجعه کنید.

استفاده

به کاربران اجازه دهید به تماشای ویدیوی خود نه تنها در برنامه شما، بلکه در سراسر دستگاه خود ادامه دهند. برنامه شما زمانی را کنترل می‌کند که فعالیت فعلی وارد حالت PiP شود – این می‌تواند تعاملی مانند خروج از نمای فعلی یا کشیدن انگشت به بالا برای رفتن به خانه باشد.

در اینجا چند نمونه از اقدامات ممکن است:

  • زمانی که کاربر روی دکمه هوم ضربه می‌زند یا به سمت خانه حرکت می‌کند، یک فعالیت می‌تواند وارد حالت PiP شود. به این ترتیب Google Maps به نمایش مسیرها ادامه می دهد در حالی که کاربر فعالیت دیگری را همزمان انجام می دهد.

    شکل 4: PiP برای ادامه تجربه راهیابی استفاده می شود
  • هنگامی که کاربر از ویدیو برای مرور محتواهای دیگر بازمی گردد، برنامه شما می تواند یک ویدیو را به حالت PiP منتقل کند.

  • برنامه شما می‌تواند یک ویدیو را به حالت PiP تغییر دهد در حالی که کاربر پایان یک قسمت از محتوا را تماشا می‌کند. صفحه اصلی اطلاعات تبلیغاتی یا خلاصه ای از قسمت بعدی سریال را نمایش می دهد.

  • برنامه شما می‌تواند راهی برای کاربران فراهم کند تا در هنگام تماشای ویدیو، محتوای اضافی را در صف قرار دهند. پخش ویدیو در حالت PiP ادامه می یابد در حالی که صفحه اصلی فعالیت انتخاب محتوا را نشان می دهد.

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

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

کاربران می توانند پنجره PiP را به مکان دیگری بکشند.

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

    شکل 5: کنترل های پیش فرض PiP
  • برای جابه‌جایی بین اندازه PiP فعلی و حداکثر یا حداقل اندازه PiP، دو بار روی پنجره ضربه بزنید - برای مثال، دو بار ضربه زدن روی یک پنجره حداکثر آن را به حداقل می‌رساند و عکس آن نیز صادق است.

    شکل 6: جابجایی بین حداقل و حداکثر اندازه PiP با دو بار ضربه زدن
  • پنجره را با کشیدن آن به لبه چپ یا راست پنهان کنید. برای باز کردن پنجره، روی قسمت قابل مشاهده پنجره پنهان شده ضربه بزنید یا آن را به بیرون بکشید.

    شکل 7: PiP مخفی شده است
  • اندازه پنجره PiP را با استفاده از کوچک کردن به زوم تغییر دهید.

  • PiP را به سمت پایین بکشید تا پنجره حذف شود.

    شکل 8: کشیدن انگشت به پایین

برای اطلاعات بیشتر در مورد پیاده سازی PiP، به مستندات توسعه دهنده Picture-in-picture مراجعه کنید.