يصل مستخدمو 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())
ملاحظة: يعتمد موقع النقطة الفعّالة على حالة الاستخدام. على سبيل المثال، سيضبط تطبيق الرسم نقطة الاتصال لتكون طرف القلم أو فرشاة الرسم.
أمثلة
تُعد إضافة رموز المؤشر إلى تطبيقك طريقة رائعة لمساعدة المستخدمين على الاستفادة من تجارب أكثر سلاسة على جميع أشكال الأجهزة التي يستخدمونها. تتوفّر الكثير من أيقونات النظام التلقائية الرائعة، وإذا لم تناسب احتياجاتك، يمكنك دائمًا تحميل أيقوناتك الخاصة أو إنشاؤها.
-
السحب والإفلات: إذا كان تطبيقك يتيح السحب من تطبيق آخر والإفلات في تطبيقك، يمكنك تنفيذ الرمز
TYPE_NO_DROP. سيؤدي ذلك إلى تقديم إشارة مرئية بأنّ تطبيقك لا يتوافق مع نوع MIME الذي تتم محاولة إسقاطه في تطبيقك. -
التخطيط: إذا كان لديك تطبيق تخطيط وتريد أن توضّح للمستخدمين أنّه يمكنهم تحريك الخريطة، يمكنك توفير خيار عرض الرمز
TYPE_GRABعند تمرير المؤشر فوق الخريطة. عندما ينقر المستخدم، يمكنك تغيير الرمز إلى يد ممسكة لإظهار أنّه يحرّك الخريطة. -
تعديل الصور: يفضّل المستخدمون الذين يعدّلون الصور استخدام عناصر تحكّم تتيح لهم اختيار عدسة مكبّرة لتكبير الصورة. يمكنك تغيير المؤشر إلى عدسة مكبّرة باستخدام الرمز
TYPE_ZOOM_INعند اختيار وضع التكبير. - والعديد من الفرص الأخرى
ملاحظة: للاطّلاع على تغييرات مختلفة في المؤشر أثناء التنفيذ، يمكنك الاطّلاع على عيّنة المؤشر على GitHub.
الملحق
موادّ إضافية للقراءة
- نموذج مؤشر GitHub
- مستندات فئة PointerIcon في Android
- تحسين التطبيقات لنظام التشغيل ChromeOS : المؤشرات المخصّصة
المؤشرات التلقائية للنظام
في ما يلي المؤشرات المتاحة تلقائيًا في نظام التشغيل 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 | ![]() |




















