يصل مستخدمو Android إلى تطبيقك عبر مجموعة متنوعة من الأجهزة، مثل الهواتف والأجهزة اللوحية والهواتف القابلة للطي وأجهزة Chromebook. وعندما يتفاعلون مع تطبيقك، خاصةً على الشاشات الكبيرة، قد يستخدمون أيضًا نوعًا من أجهزة التأشير، مثل الماوس بثلاثة أزرار. تتيح تطبيقات Android إمكانية تطبيق أنماط مختلفة على مؤشر الماوس، وذلك لتقديم إشارة مرئية للمستخدمين توضّح إمكانية التفاعل مع عنصر معيّن.
استخدام المؤشرات التلقائية للنظام
لدى المستخدمين خبرة في الطرق المتنوعة للتفاعل مع عناصر مختلفة على الأجهزة ذات الشاشات الكبيرة. بناء على ذلك، يوفّر نظام التشغيل Android للمطوّرين بعضًا من رموز المؤشر الأكثر شيوعًا التي يعرفها المستخدمون. يمكنك إضافة رموز المؤشر التلقائية هذه باستخدام بضعة أسطر من الرموز. لِنلقِ نظرة على مقتطف Kotlin التالي:
myView.setOnHoverListener { view, _ -> view.pointerIcon = PointerIcon.getSystemIcon(applicationContext, PointerIcon.TYPE_HAND) false // Listener did not consume the event. }
في هذا المثال، myView هو العرض الذي سيتم ضبطه على رمز مؤشر بموجب شروط معيّنة. الحالة المعروضة هنا هي حالة التمرير، وتظهر عند وضع مؤشر الماوس فوق عنصر عرض. في سيناريوهات أخرى، قد تحتاج إلى رمز انتظار أثناء المعالجة أو إلى مؤشر تصويب في إحدى الألعاب.
يستمع setOnHoverListener إلى حدث تمرير المؤشر فوق العنصر، ثم تتخذ إجراءً بشأنه. داخل أداة متتبِّع الأحداث، يتم استدعاء view.pointerIcon لضبط رمز المؤشر لهذا العرض المحدّد. يتم استخدام أحد رموز النظام الحالية لضبط رمز المؤشر.
تتضمّن Android العديد من رموز النظام، ويمكنك الاطّلاع على القائمة الكاملة في أسفل هذه الصفحة. تم استخدام الرمز TYPE_HAND الذي يعرض يدًا مغلقة مع تمديد إصبع السبابة.
استخدام مؤشر خاص بك
// Loading a bitmap to use as a pointer icon BitmapFactory.decodeResource( this.resources, R.drawable.dollar_sign ), CURSOR_WIDTH, CURSOR_HEIGHT, false ) // Creating the pointer icon and sending clicks from the center of the mouse icon PointerIcon.create(dollarBitmap, (CURSOR_WIDTH/2).toFloat(), (CURSOR_HEIGHT/2).toFloat())
ملاحظة: يعتمد موقع النقطة الفعّالة على حالة الاستخدام. على سبيل المثال، سيضبط تطبيق الرسم نقطة الاتصال لتكون طرف القلم أو فرشاة الرسم.
أمثلة
تُعد إضافة رموز المؤشر إلى تطبيقك طريقة رائعة لمساعدة مستخدمي Android على الاستفادة من تجارب أكثر سلاسة على جميع أشكال الأجهزة التي يستخدمونها. تتوفّر الكثير من رموز النظام التلقائية الرائعة، وإذا لم تناسب احتياجاتك، يمكنك دائمًا تحميل رموزك الخاصة أو إنشاؤها.
-
السحب والإفلات: إذا كان تطبيقك يتيح السحب من تطبيق آخر والإفلات في تطبيقك، يمكنك تنفيذ الرمز
TYPE_NO_DROP. سيؤدي ذلك إلى عرض إشارة مرئية يفيد بأنّ تطبيقك لا يتوافق مع نوع MIME الذي تتم محاولة إفلاته في تطبيقك. -
الخرائط: إذا كان لديك تطبيق خرائط وتريد إبلاغ المستخدمين بإمكانية تحريك الخريطة، يمكنك عرض الرمز
TYPE_GRABعند تمرير المؤشر فوقها. عندما ينقر المستخدم، يمكنك تغيير الرمز إلى يد ممسكة لإظهار أنّه يحرّك الخريطة. -
تعديل الصور: يفضّل المستخدمون عناصر تحكّم تتيح لهم استخدام عدسة مكبّرة لتكبير الصورة. يمكنك تغيير المؤشر إلى عدسة مكبّرة باستخدام الرمز
TYPE_ZOOM_INعند اختيار وضع التكبير. - والعديد من الخيارات الأخرى
ملاحظة: للاطّلاع على تغييرات مختلفة في المؤشر أثناء التنفيذ، يمكنك الاطّلاع على GitHub Pointer Sample.
الملحق
موادّ إضافية للقراءة
- GitHub Pointer Sample
- PointerIcon Android Class Documentation
- Optimizing Apps for ChromeOS : Custom Cursors
المؤشرات التلقائية للنظام
في ما يلي المؤشرات المتاحة تلقائيًا في نظام التشغيل Android.
| اسم المؤشر | رمز |
|---|---|
| TYPE_ALIAS | ![]() |
| TYPE_ALL_SCROLL | ![]() |
| TYPE_ARROW | ![]() |
| TYPE_CELL | مؤشر الخلية |
| TYPE_CONTEXT_MENU | ![]() |
| TYPE_COPY | ![]() |
| TYPE_CROSSHAIR | ![]() |
| TYPE_DEFAULT | ![]() |
| TYPE_GRAB | ![]() |
| TYPE_GRABBING | ![]() |
| TYPE_HAND | ![]() |
| TYPE_HELP | ![]() |
| TYPE_HORIZONTAL_DOUBLE_ARROW | ![]() |
| TYPE_NO_DROP | ![]() |
| TYPE_NULL | لن يتم عرض أي مؤشر |
| TYPE_TEXT | ![]() |
| TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_TEXT | ![]() |
| TYPE_WAIT | ![]() |
| TYPE_ZOOM_IN | ![]() |
| TYPE_ZOOM_OUT | ![]() |




















