2013-01-21 26 views
18

में ड्रॉप ढांचे का उपयोग करते हुए मैं कस्टम लांचर एप्लिकेशन (घर पृष्ठों की असीमित संख्या के साथ) विकसित करने के लिए कोशिश कर रहा हूँ और मैं खींचें और छोड़ें को लागू करने के रूप में Launcher2 में किया (Android 4.2) की जरूरत है।एंड्रॉयड खींचें और मेरे कस्टम लॉन्चर का

तो मैं दो दृष्टिकोण

1) Drag and Drop framework
2) के रूप में समझाया here कार्यान्वयन DragController, DragSource तरह एंड्रॉयड launcher2 तरह से प्रयोग करें पाया।

लेकिन मैं समझने के लिए क्यों एंड्रॉयड लोग अपने स्वयं के आवेदन में खींचें और छोड़ें ढांचे उनके द्वारा विकसित का उपयोग नहीं किया नहीं था संघर्ष कर रहा हूँ। क्या कोई उनके दृष्टिकोण के पीछे संभावित तर्क के बारे में संक्षिप्त जानकारी दे सकता है? (मेरा मतलब स्मृति/प्रदर्शन के मामले में है)

अग्रिम धन्यवाद।

+1

हाय, मुझे इसके लिए दो दृष्टिकोण भी मिले। इसके पीछे कोई कारण है। – Muthuraj

उत्तर

2

एंड्रॉइड लॉन्चर में खींचें और ड्रॉप उसी व्यू ग्रुप और उसी विंडो में ओवरले ड्राइंग के रूप में किया जाता है। लेकिन एंड्रॉइड ड्रैग और ड्रॉप दृष्टिकोण पूरी तरह से एक अलग विंडो प्रकार के साथ एक अलग खिड़की बनाता है।

संसाधन और मेमोरी वार मानक एंड्रॉइड ड्रैग और ड्रॉप दृष्टिकोण महंगा है।

यदि प्रदर्शन बहुत महत्वपूर्ण मेरे सुझाव रास्ता बाकी पसंद करते मानक एंड्रॉयड दृष्टिकोण इसकी आसान और सरल प्रति एंड्रॉयड लांचर के रूप में जाना जाता है।

+0

जैसे होम स्क्रीन (वर्कस्पेस) में ऐप्स जोड़ने की आवश्यकता है, क्या आप कृपया "एक ही व्यू ग्रुप और उसी विंडो में ओवरले ड्राइंग" को समझा सकते हैं, यहां मैं एक बहुत ही समान प्रश्न पूछ रहा हूं: http: // stackoverflow .com/प्रश्न/2 9 410875/ड्रैग-एंड-ड्रॉप-आइकॉन-टू-होम-स्क्रीन –

+0

Checkout प्रेषण ViewGroup.java में विधि निकालें। अपने लेआउट में विधि dispatchdraw को ओवरराइड करें और super.dispatchdraw() को कॉल करने के बाद अपना दृश्य बिटमैप खींचें। यह आपके बिटमैप को शीर्ष पर प्रस्तुत करेगा।यदि आप उपयोगकर्ता टच पोजिशन के अनुसार बिटमैप ड्राइंग पोजीशन बदलते हैं तो आपको ड्रैग इफेक्ट दिखाई देगा। – manjusg

0

ड्रैग और ड्रॉप फ्रेमवर्क साइस एपीआई 11. मेरा अनुमान है कि लॉन्चर के लिए बहुत सारे कोड पहले लिखा गया था, और किसी के पास अभी तक इसे फिर से करने का समय नहीं था। लेकिन एपीआई दूसरे दृष्टिकोण की तरह काम करता है।

0

http://javapapers.com/android/android-drag-and-drop/। यह सबसे अच्छा ड्रैग और ड्रॉप उदाहरण है क्योंकि मैंने इसे अपने आवेदन में लागू किया है। नोट: यह केवल 11 से ऊपर के संस्करणों का समर्थन करेगा। ड्रैग और ड्रॉप सुविधा संस्करण 10 के लिए समर्थित नहीं होगी। इसके बजाय आपको एक्स और वाई पॉजिटन्स को व्यवस्थित करके फ़ील्ड को पूर्ण लेआउट में ले जाना होगा। लेकिन निरपेक्ष लेआउट पूरी तरह से हटा दिया गया है ...

0

आप खींचें को नियंत्रित और अगर मामले में अपने आवेदन इतना जटिल नहीं है ड्रॉप करने के लिए WindowManaager उपयोग करना चाहिए। इसे कार्यान्वित करना आसान है और स्थिति बदलकर काम करना आसान है। कोड Here

3

एंड्रॉयड खींचें हो और ड्रॉप ढांचे के रूप में लॉन्चर में इस्तेमाल की तुलना में बहुत ही बुनियादी है।

लॉन्चर ऐप में "परतें" का असंख्य है और ड्रैग और ड्रॉप ड्रैगलेयर, वर्कस्पेस और ऑल ऐप व्यू इत्यादि के पार होता है। यह विंडो झंडे का उपयोग करता है और ड्रैगलेयर को गतिशील रूप से जोड़ता/हटा देता है एक ड्रैग प्रगति पर है और गतिविधियों की भीड़ ड्रैग की निगरानी करती है। अधिक जानकारी के लिए DragLayer.java और Workspace.java फ़ाइलों को विशेष रूप से देखें।

+0

आप और अधिक "परत" के असंख्य की व्यवस्था के बारे में समझाएं कर सकते हैं, मैं एक प्रश्न पूछा है यहाँ: http://stackoverflow.com/questions/29410875/drag-and-drop-icons-to-home-screen –

+0

होने के लिए सटीक, मुझे लॉन्चर 3 –