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आइकॉन को लागू किया जा सकता है. इससे यह विज़ुअल इंडिकेशन मिलेगा कि आपका ऐप्लिकेशन, उस माइम टाइप के साथ काम नहीं करता जिसे आपके ऐप्लिकेशन में ड्रॉप करने की कोशिश की जा रही है. -
मैपिंग - अगर आपके पास मैपिंग ऐप्लिकेशन है और आपको उपयोगकर्ताओं को यह दिखाना है कि वे मैप को पैन कर सकते हैं, तो उनके पास मैप पर कर्सर घुमाते समय
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 | ![]() |




















