نگاشت ثابتهای HAL-API معرفیشده در ثابتهای Map بین HAL و API براساس اصول طراحی تجربه کاربری بسیار توصیهشده است. اصول طراحی UX پایه و اساس نحوه، زمان، و نوع استفاده از میاناهای برنامهسازی کاربردی لمسی Android را تعریف میکند. برای کسب اطلاعات بیشتر درباره این اصول بنیادی، لمسی پیشرفته: زمان، ماهیت، و نحوه استفاده از میاناهای برنامهسازی کاربردی لمسی جدید را ببینید.
شکل ۱. نگاشت ثابت HAL-API: مدل گسسته
انتخاب جلوههای لمسی
براساس قدرت لمسی (VibrationEffect)
EFFECT_CLICK بهترین نقطه شروع برای تعیین قدرت لمسی ترجیحی شما است (VibrationEffect):
این مقدار میانه بین لمسی «سبک» EFFECT_TICK و لمسی «سنگین» EFFECT_HEAVY_CLICK است. با شروع از EFFECT_CLICK، میتوانید با افزودن قدرت با EFFECT_HEAVY_CLICK انرژی مفهومی را افزایش دهید یا با کاهش قدرت با EFFECT_TICK آن را کاهش دهید. بهخاطر داشته باشید که
EFFECT_DOUBLE_CLICK بالاترین انرژی مفهومی را ارائه میدهد چون
تکرار میشود.
شکل ۲. تنظیمات قدرت لمسی
براساس رویدادهای ورودی و عناصر میانای کاربر (HapticFeedbackConstants)
اگر هدف شما با رویدادهای ورودی خاص (مثل فشار طولانی یا کشیدن) یا عناصر رابط کاربری (مثل صفحهکلید) مرتبط است، ثابتهای لمسی ازپیش تعریفشده را در
HapticFeedbackConstants پیدا کنید.
نام هر ثابت به موارد استفاده خاصی مانند KEYBOARD_PRESS یا
LONG_PRESS اشاره دارد.
شبیهسازی رویدادهای فشار دکمه در دنیای واقعی
بازخورد لمسی لرزشی رویدادهای ورودی (دکمههای نرم مجازی) میتواند فشردن دکمهها را بااستفاده از نهادهای فیزیکی (مثل دکمههای سخت مکانیکی) شبیهسازی کند.
رویداد ورودی: جریان تعامل جفتی
رویداد کلیک برای شبیهسازی رفتار دکمه مکانیکی طراحی شده است، که فشرده و سپس رها میشود. انرژی درکشده از تکانه مکانیکی ناشی از فشار دادن دکمه بیشتر از انرژی ناشی از رها کردن دکمه است. بنابراین، بازخورد لمسی برای فشار دادن دکمه قویتر از بازخورد لمسی برای رها کردن دکمه است.
شکل ۳. جلوههای لمسی براساس رویداد ورودی دودویی
قدرت لمسی: امکان فشار دادن دکمه
رویدادهای ورودی با تعامل کوتاهتر و سبکتر با لمسهای سبکتر مرتبط هستند. رویدادهای ورودی با تعامل طولانیتر و عمیقتر با لمسیهای قویتر مرتبط هستند.
شکل ۴. جلوههای لمسی براساس امکانات
شبیهسازی بافت مجازی در رویداد ورودی اشاره
ورودی مبتنی بر اشاره (مثل پاک کردن یا پیمایش) میتواند با بافتهای لمسی مجازی هماهنگ شود، درحالیکه انگشت روی صفحهنمایش همراه با میاناهای کاربر تصویری حرکت میکند، برای مثال، وقتی انگشت در اطراف میانای کاربر ساعت با عناصر میانای کاربر علامت تیک مجازی حرکت میکند، بازخورد لمسی تکراری تولید میشود.
جلوههای بافتهای لمسی مجازی باید تکرار شوند. این اغلب باعث میشود
انرژی درکشده بالاتر از دامنه باشد (وقتی جلوه
بدون تکرار یا فقط یکبار نامیده میشود). بههمین دلیل، ثابتهای لمسی که برای بافتهای لمسی مجازی (مثل CLOCK_TICK یا TEXT_HANDLE_MOVE) طراحی شدهاند باید ظریف باشند تا ازطریق نشانههای تکراری حس حرکت را القا کنند.
شکل ۵. جلوههای لمسی برای شبیهسازی بافت مجازی
گنجاندن احساسات
برای گنجاندن احساس مثبت یا منفی در جلوههای لمسی، احساس قویتری را برای احساس منفی اعمال کنید تا توجه کاربر را جلب کنید.
شکل ۶. جلوههای لمسی با احساس
از نوفه شنیداری ناشی از لرزش طولانی خودداری کنید
برای جلوگیری از صدای قابلشنیدن ناشی از لرزش طولانی برای لمسهای جلبتوجهکننده،
الگو را بهآرامی تسریع کنید تا جلوه افزایشی ایجاد شود. این کار را بااستفاده از
createWaveform(long[] timings, int[] amplitudes, int repeat) انجام دهید.
شکل ۷. جلوه افزایش تدریجی لرزش طولانی