OptionSelector में इंडेक्स को तुरंत कैसे बदलें (एनीमेशन के बिना)? [बन्द है]


16

अपने ऐप में, मैं बाइक स्टेशनों की एक सूची से चुनने के लिए एक OptionSelector का उपयोग करता हूं। मेरे पास प्रत्येक स्टेशन के लिए प्लेसमार्क के साथ एक मानचित्र घटक भी है।

जब मैं एक स्थान-चिह्नक को टैप करता हूं, तो यह विकल्प स्टेशन को संबंधित स्टेशन के सूचकांक में भी बदल देता है, क्योंकि यह अच्छा यूएक्स है।

क्या अच्छा है UX नहीं है कि कैसे OptionSelector इस सूचकांक परिवर्तन का जवाब देता है, जो खुद को इस तरह से एनिमेटेड कर रहा है जैसे कि वह उपयोगकर्ता की उंगली से छेड़खानी कर रहा था। दूसरे शब्दों में, लंबे समय के बाद उपयोगकर्ता ने मानचित्र मार्कर का दोहन किया है और उन्हें उन सभी सूचनाओं की आवश्यकता होती है, जो विकल्प की जरूरत है, अभी भी स्टेशन के सूचकांक में "कताई" है।

इस व्यवहार को प्रदर्शित करने वाला एक वीडियो यहां है: https://www.youtube.com/watch?v=jXKWlAmNYsw

मैं इस OptionSelector के लिए सिर्फ कोई एनीमेशन के साथ अपने सूचकांक तुरंत बदलना चाहते हैं। क्या इसे करने का कोई तरीका है?

यहां बताया गया है कि वर्तमान में मैं कैसे चीजें करता हूं। अगर यह इस बारे में जाने का गलत तरीका है तो मुझे इसे सुधारने में खुशी होगी। मैं API कॉल करने के लिए वर्करस्क्रिप्ट (QML थ्रेड, अधिक-या-कम) का उपयोग करता हूं। जब यह वर्करस्क्रिप्ट लौटाता है, तो वह OptionSelector को इस तरह स्थानांतरित करता है:

WorkerScript {
    id: queryStationsWorker
    source: "../js/getstations.js"

    onMessage: {
        [...]

        // Move the OptionSelector to the corresponding station's index.
        stationSelector.selectedIndex = getLastStationIndex(lastStation.contents.stationName, stationsModel)

        /*
         * For the sake of clarity:
         *
         * getLastStationIndex() is a function which just returns an integer.
         * lastStation is a U1DB database used for state saving.
         * stationsModel is a model containing all of the stations.
         */
    }
}

किसी भी मदद या अंतर्दृष्टि की सराहना की - चीयर्स!


कृपया हमें अपनी समस्या को पुन: पेश करने के लिए पर्याप्त कोड दे सकते हैं? वीडियो निश्चित रूप से मददगार है, लेकिन पुन: उपयोग करने के लिए कोड के स्निपेट के बिना आपकी सहायता करना काफी कठिन है (देखें sscce.org )
सिल्वेन

हाय सिल्वैन। देरी के लिए क्षमा याचना। यहाँ एक QML फ़ाइल है जिसे आप परीक्षण करने के लिए उपयोग कर सकते हैं। बस एक नया उबंटू सरल यूआई परियोजना बनाएं और अपनी मुख्य QML फ़ाइल को इसके साथ बदलें: pastebin.ubuntu.com/9534780
हारून हेस्टिंग्स

जवाबों:


0

आप OptionSelector qml की एक प्रति देख सकते हैं यहाँ यह UbuntuNumberAnimation का उपयोग करता है जब यह विस्तारित नहीं होता है। इसे बंद करने का कोई विकल्प नहीं है और यदि सुविधा की आवश्यकता है तो आपको अपस्ट्रीम को पैच करना होगा और लाइब्रेरी के नए संस्करणों के लिए थोड़ी देर प्रतीक्षा करनी होगी।

आप अपने स्वयं के खुले चयनकर्ता विजेट बना सकते हैं, हालांकि, एनीमेशन भाग को हटा दें और सुनिश्चित करें कि आप इसे अपने कोड में उपयोग के लिए नाम बदलें। मैं इस मार्ग की सलाह देता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.