با شروع Android 10 (سطح API 29)، سیستم Android از ناوبری کاملاً مبتنی بر اشاره پشتیبانی می کند. دو کار وجود دارد که توسعه دهندگان برنامه باید انجام دهند تا مطمئن شوند برنامه هایشان با این ویژگی سازگار است:
- محتوای برنامه را از لبه به لبه گسترش دهید.
- ژستهای متضاد برنامه را مدیریت کنید.
علاوه بر این، Android 13 (سطح API 33) یک حرکت پیشبینی کننده برگشت را برای دستگاههای اندرویدی مانند تلفنها، صفحهنمایشهای بزرگ و تاشوها معرفی میکند که بخشی از یک نسخه چند ساله است. توسعه دهندگان برنامه می توانند اقداماتی را انجام دهند تا اطمینان حاصل شود که برنامه های آنها از ژست برگشتی پیش بینی کننده پشتیبانی می کند.
محتوای برنامه لبه به لبه را ارائه دهید
برای استفاده از فضای صفحه نمایش اضافی که توسط نوار ناوبری شناور در دسترس است، باید تغییرات خاصی را در برنامه خود پیکربندی کنید.
برای جزئیات بیشتر به نمایش محتوای لبه به لبه در برنامه خود مراجعه کنید.
ژستهای متضاد برنامه را مدیریت کنید
مدل پیمایش اشارهای ممکن است با حرکاتی که قبلاً توسط توسعهدهندگان برنامه استفاده میشد تضاد داشته باشد. در نتیجه ممکن است لازم باشد تنظیماتی را در رابط کاربری برنامه خود انجام دهید.
درگیری با حرکات پشت
ژست سیستم جدید برای برگشت، یک تند کشیدن به سمت داخل از لبه چپ یا راست صفحه نمایش است. این ممکن است با عناصر ناوبری برنامه در آن مناطق تداخل داشته باشد. برای حفظ عملکرد عناصر در لبههای چپ و راست صفحه، با مشخص کردن مناطقی که نیاز به دریافت ورودی لمسی به سیستم دارند، به طور انتخابی از ژست عقب خودداری کنید. شما می توانید این کار را با ارسال List<Rect>
به View.setSystemGestureExclusionRects()
API معرفی شده در Android 10 انجام دهید. این روش همچنین در ViewCompat
از androidx.core:core:1.1.0-dev01
موجود است.
به عنوان مثال:
کاتلین
var exclusionRects = listOf(rect1, rect2, rect3) fun onLayout( changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects) } fun onDraw(canvas: Canvas) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects) }
جاوا
List<Rect> exclusionRects; public void onLayout( boolean changedCanvas, int left, int top, int right, int bottom) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects); } public void onDraw(Canvas canvas) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects); }
درگیری با حرکات خانه یا تعویض سریع
حرکات سیستمی جدید برای خانه و سوئیچ سریع هر دو شامل کشیدن انگشت در پایین صفحه در فضایی است که قبلاً توسط نوار ناوبری اشغال شده بود. برنامهها نمیتوانند از این حرکات انصراف دهند، همانطور که با اشاره عقب میتوانند.
برای کاهش این مشکل، اندروید 10 API WindowInsets.getMandatorySystemGestureInsets()
را معرفی می کند که به برنامه ها از آستانه تشخیص لمسی اطلاع می دهد.
بازیها و سایر برنامههای غیرنمایش
بازیها و سایر برنامههایی که سلسلهمراتب نمایش ندارند، اغلب از کاربر میخواهند که انگشت خود را در نزدیکی مناطق اشارهای سیستم بکشد. در این موارد، بازیها میتوانند از Window.setSystemGestureExclusionRects()
برای حذف مناطقی که با مناطق رزرو شده برای حرکات سیستم همپوشانی دارند، استفاده کنند. بازیها باید مطمئن شوند که فقط در مواقع ضروری، مانند حین بازی، این مناطق را حذف میکنند.
اگر یک بازی از کاربر بخواهد که انگشت خود را نزدیک ناحیه اشاره خانه بکشد، برنامه میتواند درخواست کند که در حالت همهجانبه قرار گیرد. این ژستهای حرکتی سیستم را در زمانی که کاربر در حال تعامل با بازی است غیرفعال میکند، اما به کاربر اجازه میدهد با کشیدن انگشت از پایین صفحه، ژستهای حرکتی سیستم را دوباره فعال کند.
برنامه خود را بهروزرسانی کنید تا از حرکت پیشگویانه برگشت پشتیبانی کند
Android 13 (سطح API 33) یک حرکت پیشبینی کننده برگشت را برای دستگاههای Android مانند تلفنها، صفحهنمایشهای بزرگ و تاشوها معرفی میکند. حرکت پیشگویانه برگشت بخشی از یک نسخه چند ساله است. هنگامی که این ویژگی به طور کامل اجرا می شود، به کاربران اجازه می دهد تا قبل از اینکه به طور کامل آن را کامل کنند، مقصد یا نتایج دیگر حرکت برگشتی را پیش نمایش کنند، و به آنها اجازه می دهد تصمیم بگیرند که آیا به نمای فعلی ادامه دهند یا بمانند.
برای جزئیات بیشتر به افزودن پشتیبانی برای حرکت پیشگویانه برگشت مراجعه کنید.
منابع اضافی
برای کسب اطلاعات بیشتر در مورد پیمایش اشاره ای، به موارد زیر مراجعه کنید: