الأزرار متعددة الوظائف

الإعلانات

الأزرار متعددة الوظائف

 

 

 

الأزرار متعددة الوظائف على الساعه

بالإضافة إلى زر الطاقة (إيقاف\تشغيل الجهاز)، فإن نظام تشغيل الساعات من قوقل يدعم أزراراً مادية إضافية تُعرف بأسم الأزرار متعددة الوظائف (MF).

توفر مكتبة دعم الساعات واجهات برمجة تطبيقات لتحديد معلومات حول الأزرار متعددة الوظائف المتوفرة على الجهاز.

 

يركز هذا الدرس على كيفية إسترجاع معلومات عن الأزرار متعددة الوظائف المتوفرة على الجهاز ومعالجة كائنات “حدث رئيسي” KeyEvent.

 

راجع المصادر التالية:

مبادئ تصميم تطبيقات نظام تشغيل الساعات

 

 

 

 

 

التعامل مع الأحداث الرئيسية


إذا كان تطبيقك بحاجة إلى التعامل مع زر متعدد الوظائف، فبإمكانه القيام بذلك من خلال أكواد الحدث القياسيه للضغط على المفاتيح…

في إطار عمل الأندرويد. يتوافق كل كود للمفاتيح عادةً مع زر مادي فردي على الجهاز.

المجموعة المتاحة من أكواد المفاتيح الممكنة للأزرار التي يمكن لتطبيقك التعامل معها هي:

KEYCODE_STEM_1 ، و KEYCODE_STEM_2 ، و KEYCODE_STEM_3. يمكن أن يتلقى تطبيقك أكواد المفاتيح هذه ويقوم بتحويلها إلى إجراءات محددة داخل التطبيق.

للتعامل مع الضغط على الزر، قم بتطبيق داله ()onKeyDown .

مثال، يستجيب هذا التطبيق لبعض الضغط على الزر للتحكم في الإجراءات في التطبيق:

KOTLIN

// Activity
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
    return if (event.repeatCount == 0) {
        when (keyCode) {
            KeyEvent.KEYCODE_STEM_1 -> {
                // Do stuff
                true
            }
            KeyEvent.KEYCODE_STEM_2 -> {
                // Do stuff
                true
            }
            KeyEvent.KEYCODE_STEM_3 -> {
                // Do stuff
                true
            }
            else -> {
                super.onKeyDown(keyCode, event)
            }
        }
    } else {
        super.onKeyDown(keyCode, event)
    }
}

JAVA

@Override
// Activity
public boolean onKeyDown(int keyCode, KeyEvent event){
  if (event.getRepeatCount() == 0) {
    if (keyCode == KeyEvent.KEYCODE_STEM_1) {
      // Do stuff
      return true;
    } else if (keyCode == KeyEvent.KEYCODE_STEM_2) {
      // Do stuff
      return true;
    } else if (keyCode == KeyEvent.KEYCODE_STEM_3) {
      // Do stuff
      return true;
    }
  }
  return super.onKeyDown(keyCode, event);
}

 

 

 

 

البحث عن الأزرار المتاحة


لمعرفة أي الأزرار متاحة للإستخدام، يمكنك إستخدام دوال ()WearableButtons.getButtonInfo و ()WearableButtons.getButtonCount  ..

المتوفرة في مكتبة دعم الساعات. هناك طريقة بسيطة لمعرفة ما إذا كانت هناك أزرار ثانوية متاحة أم لا، وهي التحقق من قيمة الإرجاع الخاصة بـ…

 ()WearableButtons.getButtonCount . إذا كانت أكبر من 1، فهناك أزرار متعددة الوظائف متاحة للإستخدام.

 

 

 

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

 

يتم تعيين كل زر إلى عدد صحيح ثابت int من فئة “الحدث الرئيسي” KeyEvent، كما هو موضح في الجدول التالي:

 

الزر الحدث الرئيسي
MF الزر1 KEYCODE_STEM_1
MF الزر2 KEYCODE_STEM_2
MF الزر3 KEYCODE_STEM_3

 

  • إذا كان الجهاز يحتوي على زر واحد متعدد الوظائف فقط، فسيتم دائماً تعيينه إلى KEYCODE_STEM_1.

 

  • إذا كان الجهاز يحتوي على زرين متعددي الوظائف، فسيتم دائماً تعيينهما إلى KEYCODE_STEM_1 و KEYCODE_STEM_2.

 

  • إذا كان الجهاز يحتوي على ثلاثة أزرار متعددة الوظائف، فسيتم دائماً تعيينها إلى KEYCODE_STEM_1 و KEYCODE_STEM_2 و KEYCODE_STEM_3.

 

يوضح كود المثال التالي كيفية الحصول على عدد الأزرار المتاح:

KOTLIN

val count = WearableButtons.getButtonCount(context)

if (count > 1) {
    // There are multi-function buttons available
}

val buttonInfo = WearableButtons.getButtonInfo(activity, KeyEvent.KEYCODE_STEM_1)

if (buttonInfo == null) {
    // KEYCODE_STEM_1 is unavailable
} else {
    // KEYCODE_STEM_1 is present on the device
}

JAVA

val count = WearableButtons.getButtonCount(context)

if (count > 1) {
    // There are multi-function buttons available
}

val buttonInfo = WearableButtons.getButtonInfo(activity, KeyEvent.KEYCODE_STEM_1)

if (buttonInfo == null) {
    // KEYCODE_STEM_1 is unavailable
} else {
    // KEYCODE_STEM_1 is present on the device
}

 

 

 

 

تعيين موضع الزر


توفر مكتبة دعم الساعات إثنين من واجهات برمجة التطبيقات التي تصف موقع الزر:

  • ()WearableButtons.getButtonLabel: تقوم بإرجاع سلسلة تحديد الموقع تصف الموضع العام للزر على الجهاز.
  • ()WearableButtons.getButtonIcon: تقوم بإرجاع أيقونة تمثل الموضع العام للزر على الجهاز.

 

ملاحظة: نوصي بعدم إستخدام وصف النصوص عند وصف الأزرار ووظائفها وبدلاً من ذلك إستخدم المؤشرات البصرية.

ومع ذلك، قد تكون هناك بعض الحالات التي يكون فيها وصف الزر أكثر منطقية.

 

تم تصميم الدوال المذكورة أعلاه للأوصاف البسيطة. إذا كانت واجهات برمجة التطبيقات هذه لا تتناسب مع إحتياجات تطبيقك..

فيمكنك أيضاً إستخدام واجهة برمجة تطبيقات ()WearableButtons.getButtonInfo للحصول على موضع الزر على الشاشة والتعامل معه بطريقة أكثر تخصيصاً.

لمزيد من المعلومات حول واجهات برمجة التطبيقات، اقرأ مرجع واجهة برمجة تطبيقات الساعه.

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات