শারীরিক বোতাম

একটি পরিধানযোগ্য ডিভাইসে সাধারণত একাধিক ফিজিক্যাল বোতাম থাকে, যা স্টেম নামেও পরিচিত। Wear OS ডিভাইসগুলিতে সর্বদা ন্যূনতম একটি বোতাম থাকে: পাওয়ার বোতাম। এর বাইরে, শূন্য বা তার বেশি মাল্টি-ফাংশন বোতাম উপস্থিত থাকতে পারে। কিছু ডিভাইস একটি শারীরিক ঘোরানো সাইড বোতামও প্রদান করে।

আপনার অ্যাপে, যখন আপনার অ্যাপ অগ্রভাগে থাকে তখন আপনি অ্যাকশনের জন্য মাল্টি-ফাংশন বোতাম বরাদ্দ করতে পারেন। উদাহরণস্বরূপ, একটি ফিটনেস অ্যাপ মাল্টি-ফাংশন বোতাম ব্যবহার করে একটি ওয়ার্কআউট শুরু বা বিরতি দিতে পারে:

একাধিক সাইড বোতাম সহ একটি ঘড়ি। সিস্টেমটি একটি বোতামকে মাল্টি-ফাংশন বোতাম হিসাবে মনোনীত করে।
চিত্র 1. Wear OS ফিটনেস অ্যাপ মাল্টি-ফাংশন বোতাম দেখাচ্ছে।

উপযুক্ত ব্যবহারের ক্ষেত্রে এবং ডিজাইন বিবেচনার জন্য, Wear OS ডিজাইন নীতিগুলি দেখুন৷

এই নথিটি বর্ণনা করে যে কীভাবে একটি ডিভাইসে উপলব্ধ মাল্টি-ফাংশন বোতামগুলি সম্পর্কে তথ্য পুনরুদ্ধার করা যায় এবং কীভাবে বোতাম টিপে প্রক্রিয়া করা যায়।

বোতাম মেটাডেটা

একটি ডিভাইসে বোতাম সম্পর্কে অতিরিক্ত তথ্য পেতে, Wear ইনপুট AndroidX লাইব্রেরিতে সংজ্ঞায়িত API ব্যবহার করুন। আপনার অ্যাপ মডিউলের build.gradle ফাইলে নিম্নলিখিত নির্ভরতা যোগ করুন:

dependencies {
implementation "androidx.wear:wear-input:1.2.0"
}

বোতামের সংখ্যা

ডিভাইসে কতগুলি বোতাম উপলব্ধ রয়েছে তা নির্ধারণ করুন, WearableButtons.getButtonCount() পদ্ধতি ব্যবহার করুন। এই পদ্ধতিতে পাওয়ার বোতাম রয়েছে, তাই যদি পদ্ধতিটি একের বেশি মান প্রদান করে, তাহলে ব্যবহারের জন্য মাল্টি-ফাংশন বোতাম রয়েছে। বরাদ্দযোগ্য মাল্টি-ফাংশন বোতামগুলির একটি সঠিক গণনা পেতে, গণনা থেকে একটি বিয়োগ করুন, যেহেতু প্রথম বোতামটি সর্বদা পাওয়ার বোতাম।

বোতাম প্রেসের জন্য কীকোড

প্রতিটি বোতাম KeyEvent ক্লাস থেকে একটি int ধ্রুবক ম্যাপ করা হয়, যেমনটি নিম্নলিখিত টেবিলে দেখানো হয়েছে:

বোতাম কী ইভেন্ট
মাল্টিফাংশন বোতাম 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() একটি আইকন প্রদান করে যা ডিভাইসে বোতামের সাধারণ স্থাপনের প্রতিনিধিত্ব করে।

যদি এই APIগুলি আপনার অ্যাপের প্রয়োজন অনুসারে না হয়, আপনি স্ক্রিনে বোতামটির অবস্থান পেতে এবং এটিকে আরও কাস্টমাইজড উপায়ে পরিচালনা করতে WearableButtons.getButtonInfo() API ব্যবহার করতে পারেন। API সম্পর্কে আরও তথ্যের জন্য, Wear API রেফারেন্স দেখুন।