پنل‌های اعلان‌های هشداردهنده را پیاده‌سازی کنید

در اندروید ۱۷ و بالاتر، رابط کاربری مقیاس‌پذیر برای اعلان‌های سربالا (HUNs) به شما امکان می‌دهد مدیریت پنجره (موقعیت‌یابی، پوشش پس‌زمینه، انیمیشن‌ها) پنل‌های HUN را با استفاده از چارچوب رابط کاربری مقیاس‌پذیر با پوشش‌های منابع زمان اجرا (RROs) سفارشی کنید. این ویژگی امکان کنترل بر روی محفظه اعلان را بدون تأثیر بر رندر محتوای داخلی فراهم می‌کند.

پیاده‌سازی

پیاده‌سازی رابط کاربری مقیاس‌پذیر برای HUNها شامل موارد زیر است:

  • APIهای عمومی و سیستمی: کلاس HunWindow و منطق تجزیه تگ XML <HunPanel> را در تجزیه‌کننده‌های رابط کاربری مقیاس‌پذیر معرفی می‌کند.
  • اجرای شرکا:
    • یک پوشش RRO سفارشی تعریف کنید.
    • برای ایجاد یک فایل XML (برای مثال، res/xml/hun_panel.xml )، از تگ ریشه <HunPanel> استفاده کنید.
    • عناصر <Variant> را برای کنترل مرزها، گرانش ( TOP یا BOTTOM )، قابلیت مشاهده و پس‌زمینه (قابل ترسیم با اسکریم) تعریف کنید.
    • با استفاده از <Transitions> انواع مختلف را به رویدادهای سیستم (مثلاً _System_Show_Panel ) نگاشت کنید.
  • دستگاه‌های جدید در مقابل دستگاه‌های ارتقا یافته: این یک تغییر پیکربندی است که توسط RROها انجام می‌شود. برای ارتقا دستگاه‌ها جهت دریافت تصویر سیستم جدید، یک RRO مناسب برای تعریف رفتار HUN ایجاد کنید. این به کاربران اجازه می‌دهد تا از حالت پیش‌فرض منحرف شوند.
  • فعال یا غیرفعال: برای فعال یا غیرفعال کردن این ویژگی، @xml/hun_panel ‎ را از پیکربندی window_states اضافه یا حذف کنید.
  • تنظیمات پیش‌فرض: با اعمال RRO خودتان که پیکربندی پیش‌فرض سیستم را لغو می‌کند، تنظیمات پیش‌فرض را تغییر دهید.

الزامات و اعتبارسنجی

برای آزمایش فعال و غیرفعال کردن پوشش‌ها از توالی زیر استفاده کنید:

adb shell cmd overlay disable --user current com.example.overlay.scalableUI.hun.bottom

اگر RRO را فعال یا غیرفعال کنید، HUN به ترتیب در پایین یا بالا نشان داده می‌شود.

اعتبارسنجی دستی

  • موقعیت‌یابی: بررسی کنید که HUNها در گرانش مشخص‌شده ( TOP یا BOTTOM ) و مرزها ظاهر شوند.
  • تعاملات: تأیید کنید که کشیدن انگشت برای رد کردن کار می‌کند (اگر قابل رد کردن نیست، تأیید کنید که دکمه کار می‌کند).
  • انیمیشن‌ها: انیمیشن‌های انتقال بین حالت‌های باز و بسته را تأیید کنید.