आम तौर पर, पहनने लायक डिवाइस में कई बटन होते हैं. इन्हें स्टेम भी कहा जाता है. Wear OS डिवाइसों में कम से कम एक बटन हमेशा होता है: पावर बटन. इसके अलावा, एक से ज़्यादा फ़ंक्शन वाले बटन मौजूद हो सकते हैं या नहीं भी हो सकते हैं. कुछ डिवाइसों में, फिजिकल रोटेटिंग साइड बटन भी होता है.
ऐप्लिकेशन में, मल्टीफ़ंक्शन बटन को ऐसी कार्रवाइयां असाइन की जा सकती हैं जो ऐप्लिकेशन के फ़ोरग्राउंड में होने पर की जाती हैं. उदाहरण के लिए, कोई फ़िटनेस ऐप्लिकेशन मल्टीफ़ंक्शन बटन का इस्तेमाल करके, कसरत शुरू या बंद कर सकता है:

इस्तेमाल के सही उदाहरण और डिज़ाइन से जुड़ी बातों के लिए, Wear OS के डिज़ाइन के सिद्धांत देखें.
इस दस्तावेज़ में बताया गया है कि किसी डिवाइस पर उपलब्ध मल्टीफ़ंक्शन बटन के बारे में जानकारी कैसे पाएं. साथ ही, बटन दबाने की प्रोसेस कैसे करें.
बटन का मेटाडेटा
किसी डिवाइस पर मौजूद बटन के बारे में ज़्यादा जानकारी पाने के लिए, Wear Input AndroidX लाइब्रेरी में तय किए गए एपीआई का इस्तेमाल करें. अपने ऐप्लिकेशन मॉड्यूल की build.gradle
फ़ाइल में, यह डिपेंडेंसी जोड़ें:
dependencies {
implementation "androidx.wear:wear-input:1.2.0"
}
बटन की संख्या
यह पता लगाएं कि डिवाइस पर कितने बटन उपलब्ध हैं. इसके लिए, WearableButtons.getButtonCount()
तरीके का इस्तेमाल करें. इस तरीके में पावर बटन भी शामिल होता है. इसलिए, अगर यह तरीका एक से ज़्यादा वैल्यू दिखाता है, तो इसका मतलब है कि इस्तेमाल के लिए एक से ज़्यादा फ़ंक्शन वाले बटन उपलब्ध हैं. असाइन किए जा सकने वाले मल्टीफ़ंक्शन बटन की सही संख्या पाने के लिए, कुल बटन की संख्या में से एक घटाएं. ऐसा इसलिए, क्योंकि पहला बटन हमेशा पावर बटन होता है.
बटन दबाने के लिए कीकोड
हर बटन को KeyEvent
क्लास के int
कॉन्स्टेंट से मैप किया जाता है. इसके बारे में यहां दी गई टेबल में बताया गया है:
बटन | KeyEvent |
---|---|
मल्टीफ़ंक्शन बटन 1 | KEYCODE_STEM_1 |
कई फ़ंक्शन वाला बटन 2 | KEYCODE_STEM_2 |
कई फ़ंक्शन वाला तीसरा बटन | 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 के बारे में जानकारी देखें.