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

للاطّلاع على حالات الاستخدام المناسبة واعتبارات التصميم، يُرجى الرجوع إلى مبادئ تصميم Wear OS.
يوضّح هذا المستند كيفية استرداد معلومات حول الأزرار المتعدّدة الوظائف المتاحة على الجهاز وكيفية معالجة ضغطات الأزرار.
البيانات الوصفية للأزرار
للحصول على معلومات إضافية حول الأزرار على أحد الأجهزة، استخدِم واجهة برمجة التطبيقات المحدّدة في مكتبة Wear Input AndroidX. أضِف التبعية التالية في ملف build.gradle
الخاص بوحدة تطبيقك:
dependencies {
implementation "androidx.wear:wear-input:1.2.0"
}
عدد الأزرار
لتحديد عدد الأزرار المتاحة على الجهاز، استخدِم طريقة
WearableButtons.getButtonCount()
. تتضمّن هذه الطريقة زر التشغيل، لذا إذا كانت الطريقة تعرض قيمة أكبر من واحد، يعني ذلك أنّ هناك أزرارًا متعدّدة الوظائف متاحة للاستخدام. للحصول على عدد دقيق لأزرار الوظائف المتعددة القابلة للتخصيص، اطرح واحدًا من العدد، لأنّ الزر الأول هو دائمًا زر التشغيل.
رموز المفاتيح للضغطات على الأزرار
يتم ربط كل زر بثابت int
من الفئة
KeyEvent
،
كما هو موضّح في الجدول التالي:
زرّ | KeyEvent |
---|---|
الزر متعدد الوظائف 1 | KEYCODE_STEM_1 |
زر الوظائف المتعددة 2 | KEYCODE_STEM_2 |
الزرّ المتعدّد الوظائف 3 | KEYCODE_STEM_3 |
يوضّح نموذج الرمز البرمجي التالي كيفية الحصول على عدد الأزرار المتاحة:
val count = WearableButtons.getButtonCount(context) if (count > 1) { Log.d(TAG, "More than one button available") } val buttonInfo = WearableButtons.getButtonInfo( activity, KeyEvent.KEYCODE_STEM_1 ) if (buttonInfo == null) { // KEYCODE_STEM_1 is unavailable Log.d(TAG, "KEYCODE_STEM_1 not available") } else { // KEYCODE_STEM_1 is present on the device Log.d(TAG, "KEYCODE_STEM_1 is present on the device") }
التعامل مع الضغطات على الأزرار
هناك عدد من رموز مفاتيح الأزرار المحتملة التي يمكن لتطبيقك التعامل معها:
KEYCODE_STEM_1
.KEYCODE_STEM_2
.
يمكن لتطبيقك تلقّي رموز المفاتيح هذه وتحويلها إلى إجراءات محدّدة داخل التطبيق.
للتعامل مع ضغطة زر، نفِّذ الطريقة
onKeyDown()
.
على سبيل المثال، يستجيب هذا التنفيذ لضغطة زر للتحكّم في الإجراءات داخل تطبيق:
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { return if (event?.repeatCount == 0) { when (keyCode) { KeyEvent.KEYCODE_STEM_1 -> { Log.d(TAG, "KEYCODE_STEM_1 pressed") true } KeyEvent.KEYCODE_STEM_2 -> { Log.d(TAG, "KEYCODE_STEM_2 pressed") true } else -> { super.onKeyDown(keyCode, event) } } } else { super.onKeyDown(keyCode, event) } }
تحديد مواضع الأزرار
توفّر مكتبة AndroidX طريقتَين تصفان موضع الزر:
WearableButtons.getButtonLabel()
تعرض هذه السمة سلسلة مترجَمة تصف الموضع العام للزر على الجهاز.- تعرض السمة
WearableButtons.getButtonIcon()
رمزًا يمثّل الموضع العام للزر على الجهاز.
إذا لم تكن واجهات برمجة التطبيقات هذه مناسبة لاحتياجات تطبيقك، يمكنك أيضًا استخدام واجهة برمجة التطبيقات
WearableButtons.getButtonInfo()
للحصول على الموقع الجغرافي للزر على الشاشة والتعامل معه بطريقة أكثر تخصيصًا. لمزيد من المعلومات حول واجهات برمجة التطبيقات،
يُرجى الاطّلاع على مرجع Wear API.