تصميم تجربة المستخدم باللمس

إنّ تعيين الثوابت في HAL إلى الثوابت في واجهة برمجة التطبيقات الذي تم تقديمه في مقالة تعيين الثوابت بين HAL وواجهة برمجة التطبيقات يستند إلى مبادئ تصميم تجربة المستخدم التي ننصح بها بشدة. تحدِّد مبادئ تصميم تجربة المستخدم الأساس الذي يستند إليه كيفية استخدام واجهات برمجة التطبيقات لتأثيرات لمس Android والحالات التي تستدعي استخدامها والعناصر التي يجب استخدامها عند استخدامها. اطّلِع على مقالة اللمس المتقدّم: حالات استخدام واجهات برمجة التطبيقات الجديدة لللمس وكيفية استخدامها لمعرفة المزيد عن هذه المبادئ الأساسية.

الربط الثابت

الشكل 1: تعيين ثابت HAL-API: نموذج منفصل

اختيار التأثيرات اللمسية

حسب قوة اللمس (VibrationEffect)

يُعدّ EFFECT_CLICK أفضل نقطة بداية عند تحديد قوة اللمس المفضّلة (VibrationEffect): فهو متوسّط بين قوة اللمس "الخفيفة" التي تبلغ EFFECT_TICK وقوة اللمس "الثقيلة" التي تبلغ EFFECT_HEAVY_CLICK. عند البدء برمز EFFECT_CLICK، يمكنك زيادة الطاقة المفاهيمية أو خفضها من خلال إضافة قوة باستخدام EFFECT_HEAVY_CLICK أو خفض القوة باستخدام EFFECT_TICK. يُرجى العِلم أنّ الشعار EFFECT_DOUBLE_CLICK يقدّم أعلى طاقة مفهومية لأنّه يتم تكراره.

قوة اللمس

الشكل 2: إعدادات قوة اللمس

حسب أحداث الإدخال وعناصر واجهة المستخدم (HapticFeedbackConstants)

إذا كان هدفك مرتبطًا بأحداث إدخال معيّنة (مثل الضغط مع الاستمرار أو اللمس السريع) أو عناصر واجهة المستخدم (مثل لوحة المفاتيح)، ابحث عن الثوابت الحسية المحدّدة مسبقًا في HapticFeedbackConstants. يشير اسم كلّ ثابت إلى حالات استخدام معيّنة، مثل KEYBOARD_PRESS أو LONG_PRESS.

محاكاة أحداث الضغط على الأزرار في الواقع

يمكن أن تحاكي الملاحظات اللمسية لأحداث الإدخال (الأزرار الافتراضية) الضغط على الأزرار باستخدام عناصر مادية (مثل الأزرار الصلبة الميكانيكية).

حدث الإدخال: مسار التفاعل بين شخصين

تم تصميم حدث النقر لمحاكاة سلوك زر ميكانيكي، يتم الضغط عليه ثم إفلاته. إنّ الطاقة التي يشعر بها المستخدم من النبضة الميكانيكية عند الضغط على زر أعلى من تلك التي يشعر بها عند تحرير الزر. لذلك، يكون التأثير الحسّي عند الضغط على الأزرار أقوى من التأثير الحسّي عند سحبها.

اللمسات الحسية للضغط على الحدث وإفلاته

الشكل 3: التأثيرات اللمسية حسب حدث الإدخال الثنائي

قوة اللمس: سهولة الضغط على الزر

ترتبط أحداث الإدخال التي تتضمن تفاعلًا أقصر وأكثر رقةً بلمس أرق. إنّ أحداث الإدخال التي تتضمن تفاعلًا أطول وأعمق تكون مرتبطة بتأثيرات haptics الأقوى.

اللمس في ميزة "الضغط للوصول إلى المحتوى"

الشكل 4: التأثيرات اللمسية حسب إمكانيات الاستخدام

محاكاة النسيج الافتراضي في حدث إدخال الإيماءات

يمكن محاذاة الإدخال المستنِد إلى الإيماءات (مثل التمرير السريع أو التمرير) مع ملف تعريف افتراضي لللمس أثناء تحريك الإصبع على الشاشة مع واجهات مستخدم مرئية، على سبيل المثال، إنشاء ملاحظات لمس متكررة أثناء تحريك إصبع حول واجهة مستخدم الساعة مع عناصر واجهة مستخدم علامات اختيار افتراضية.

من المفترض أن تتكرّر تأثيرات الملمس اللمسي الافتراضي. يؤدي ذلك غالبًا إلى جعل الطاقة المُلاحظة أعلى من السعة (عند استدعاء التأثير بدون تكرار أو مرة واحدة فقط). لهذا السبب، يجب أن تكون العوامل الثابتة لللمس التي تم تصميمها للاستخدام مع الملمس اللمسي الافتراضي (مثل CLOCK_TICK أو TEXT_HANDLE_MOVE) خفيفة لتوفير إحساس بالحركة من خلال إشارات متكررة.

النسيج الافتراضي

الشكل 5: تأثيرات لمسية لمحاكاة الملمس الافتراضي

تضمين المشاعر

لتضمين انطباع إيجابي أو سلبي في التأثيرات اللمسية، طبِّق إحساسًا أقوى على الانطباع السلبي لجذب انتباه المستخدم.

الانطباع باللمس

الشكل 6: التأثيرات اللمسية مع المشاعر

تجنُّب الضوضاء المرئية الناتجة عن الاهتزاز لفترة طويلة

لتجنّب الضوضاء المرئية الناتجة عن الاهتزاز الطويل في اللمسات الحسية التي تجذب الانتباه، يمكنك تسريع التأثير بسلاسة لإنشاء تأثير متزايد. ويمكنك إجراء ذلك باستخدام createWaveform(long[] timings, int[] amplitudes, int repeat).

اهتزاز طويل

الشكل 7: تأثير زيادة الاهتزاز تدريجيًا