माउस पॉइंटर के आइकॉन

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 पॉइंटर का यह सैंपल देखें

Android ऐप्लिकेशन में कस्टम पॉइंटर आइकॉन.

अपेंडिक्स

आपकी मदद के लिए कुछ और लेख

सिस्टम के डिफ़ॉल्ट कर्सर

ये 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 ज़ूम आउट करने वाला कर्सर, माइनस के निशान वाला मैग्नीफ़ाइंग ग्लास.