اندروید ۱۲ (سطح API 31) API ویجتهای موجود را برای بهبود تجربه کاربر و توسعهدهنده در پلتفرم و لانچرها، بهروزرسانی میکند. از این راهنما برای یادگیری نحوه اطمینان از سازگاری ویجت خود با اندروید ۱۲ و همچنین به عنوان مرجعی برای APIها جهت بهروزرسانی ویجت موجود خود استفاده کنید.

مطمئن شوید که ویجت شما با اندروید ۱۲ سازگار است
ویجتها در اندروید ۱۲ گوشههای گرد دارند. وقتی از یک ویجت برنامه در دستگاهی با اندروید ۱۲ یا بالاتر استفاده میشود، لانچر بهطور خودکار پسزمینه ویجت را شناسایی کرده و آن را برش میدهد تا گوشههای گرد داشته باشد.
در این سناریو، ویجت شما ممکن است در هر یک از شرایط زیر به درستی نمایش داده نشود:
ویجت حاوی محتوا در گوشهها است : این ممکن است باعث شود برخی از محتوا در ناحیه گوشه بریده شود.
این ویجت از پسزمینهای استفاده میکند که مستعد برش نیست . این شامل پسزمینه شفاف، نماها یا طرحبندیهای خالی یا هر نوع پسزمینه خاص دیگری است که مستعد برش نیست. سیستم ممکن است نتواند پسزمینه مورد استفاده را به درستی شناسایی کند.
اگر ویجت شما تحت تأثیر این تغییر قرار میگیرد، توصیه میکنیم آن را با گوشههای گرد (مطابق آنچه در بخش بعدی توضیح داده شده است) بهروزرسانی کنید تا از نمایش صحیح آن اطمینان حاصل شود.
از نمونه استفاده کنید
برای مشاهدهی عملکرد تمام این APIها، نمونهی ویجت لیست ما را بررسی کنید.
پیادهسازی گوشههای گرد
اندروید ۱۲ پارامترهای سیستمی system_app_widget_background_radius و system_app_widget_inner_radius را برای تنظیم شعاع گوشههای گرد ویجت شما معرفی میکند.

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


شخصیسازی ابزارکها را آسانتر کنید
اگر یک فعالیت پیکربندی را با ویژگی configure از appwidget-provider مشخص کنید، میزبان App Widget آن فعالیت را بلافاصله پس از افزودن ویجت به صفحه اصلی توسط کاربر، اجرا میکند.
اندروید ۱۲ گزینههای جدیدی را اضافه کرده است تا به شما امکان دهد تجربه پیکربندی بهتری را برای کاربران فراهم کنید. برای جزئیات بیشتر به بخش «فعال کردن کاربران برای پیکربندی ابزارکها» مراجعه کنید.
اضافه کردن دکمههای ترکیبی جدید
اندروید ۱۲ با استفاده از اجزای موجود زیر، پشتیبانی جدیدی برای رفتار stateful اضافه میکند:
ویجت هنوز بدون وضعیت است. برنامه شما باید وضعیت را ذخیره کند و برای رویدادهای تغییر وضعیت ثبت نام کند.

برای جزئیات بیشتر، به پشتیبانی از رفتار حالتمند مراجعه کنید.
از API های بهبود یافته برای اندازه و طرح بندی ویجت ها استفاده کنید
با شروع از اندروید ۱۲، میتوانید با تعیین محدودیتهای اندازه ویجت اضافی و با ارائه طرحبندیهای واکنشگرا و طرحبندیهای دقیق، از ویژگیهای اندازه اصلاحشدهتر و طرحبندیهای انعطافپذیرتر بهرهمند شوید.
برای جزئیات بیشتر، به بخش «ارائه طرحبندیهای انعطافپذیر ویجت» مراجعه کنید.
بهبود تجربه انتخاب ویجت برنامه شما
اندروید ۱۲ با افزودن پیشنمایشهای پویای ویجت و توضیحات ویجت، به شما امکان میدهد تجربه انتخابگر ویجت را برای برنامه خود بهبود بخشید. برای جزئیات بیشتر، به «افزودن پیشنمایشهای ویجت مقیاسپذیر به انتخابگر ویجت» و «افزودن توضیحی برای ویجت خود» مراجعه کنید.
انتقالهای روانتر را فعال کنید
از اندروید ۱۲ به بعد، لانچرها وقتی کاربر برنامه شما را از یک ویجت اجرا میکند، انتقال روانتری را ارائه میدهند. برای جزئیات بیشتر به بخش «فعال کردن انتقال روانتر» مراجعه کنید.
استفاده از مجموعههای سادهشدهی RemoteViews
اندروید ۱۲ متد setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) را اضافه میکند که به برنامه شما اجازه میدهد هنگام پر کردن یک ListView یک مجموعه را مستقیماً ارسال کند. پیش از این، هنگام استفاده از ListView ، پیادهسازی و اعلان یک RemoteViewsService برای بازگرداندن RemoteViewsFactory ضروری بود.
برای جزئیات بیشتر، به بخش «استفاده از مجموعههای RemoteViews مراجعه کنید.
استفاده از اصلاح زمان اجرا RemoteViews
اندروید ۱۲ چندین متد RemoteViews اضافه کرده است که امکان تغییر ویژگیهای RemoteViews را در زمان اجرا فراهم میکنند. برای مشاهده لیست کامل متدهای اضافه شده، به مرجع RemoteViews API مراجعه کنید.
برای جزئیات بیشتر، به استفاده از اصلاح زمان اجرا در RemoteViews مراجعه کنید.