2011-03-06 20 views
5

मैं वर्तमान उपयोगकर्ता गतिविधि के शीर्ष पर एक छोटा सा कस्टम डायलॉग दिखाना चाहता हूं, लेकिन पृष्ठभूमि में दिए गए मेरे संवाद के बाहर के क्षेत्र में क्लिक (जो लॉन्चर, या दूसरी गतिविधि होगी)। मैंने एक पारदर्शी आधार-गतिविधि बनाने की कोशिश की और इसके शीर्ष पर दिखाया गया संवाद है, लेकिन पारदर्शी गतिविधि पर क्लिक पंजीकृत हैं और इसके पीछे जो भी है ...एक संवाद दिखा रहा है और अभी भी पृष्ठभूमि पर क्लिक प्रदान कर रहा है?

मुझे पता है कि Popup में setOutsideTouchable है - विधि, लेकिन सच करने के लिए इस सेटिंग सिर्फ पॉपअप को खारिज करते हुए बल्कि पृष्ठभूमि के लिए क्लिक वितरित, मेरी जानकारी के लिए की तुलना में ...

आपकी मदद के लिए धन्यवाद,
निक

+0

क्या आपने फ़्रेमलेआउट में अपनी गतिविधि बनाने पर विचार किया है, ताकि सब कुछ बाकी के शीर्ष पर ढेर हो? फिर आप अपने अवकाश पर अपने पॉपअप को दिखा सकते हैं/हटा सकते हैं? – Sephy

+0

आपके उत्तर के लिए धन्यवाद! यह एक अच्छा विचार होगा अगर यह सिर्फ मेरी गतिविधि थी, लेकिन मैं चाहता हूं कि पॉपअप को किसी सेवा से दिखाया जाए, उपयोगकर्ता को कहीं और (मेरे पॉपअप के बाहर) दबाए बिना, इसे यथासंभव अविभाज्य बनाने के लिए बाधित किए बिना। दुर्भाग्य से मैं इस विशेष कार्य के लिए 'टोस्ट' या मानक 'अधिसूचना' का उपयोग नहीं कर सकता: - – Nick

+0

@ निक, क्या आपको कोई समाधान मिला? – Guy

उत्तर

1

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

+0

क्या आप कृपया समझा सकते हैं यह जवाब और अधिक है? क्या मैं पॉपअपविंडो को आने वाली कॉल विंडो के शीर्ष पर उदाहरण के लिए खोल सकता हूं? – Guy

0

आप स्थानों स्विच सकता है, ताकि पॉपअप वास्तव में प्रारंभिक स्क्रीन के पीछे "पीछे" है, लेकिन फिर प्रारंभिक स्क्रीन को पारदर्शी के रूप में सेट करें।

संपादित करें: यह केवल पाठ्यक्रम के आवेदन के भीतर लागू होगा।

+0

यह एक अच्छा विचार है और यह काम करेगा अगर मैं सिर्फ अपने आवेदन से निपट रहा था, लेकिन मैं चाहता हूं कि संवाद सिस्टम-व्यापी दिखाया जाए, इससे कोई फर्क नहीं पड़ता कि उपयोगकर्ता इस समय किस ऐप का उपयोग कर रहा है ... – Nick

0

मैं जो कुछ भी मांगता हूं उसके द्वारा एंड्रॉइड के दिए गए उपयोगिता पैटर्न का उपयोग करके शोषण का गहरा अर्थ नहीं देख सकता हूं?

सामान्य पैटर्न से चिपकने के लिए अनुशंसित और सार्थक है ताकि उपयोगकर्ताओं को मूल ऐप्स में अनुकूलन न करना पड़े। यही कारण है, जब तक आप एक खेल :)

3

पर काम कर रहे इस स्पष्टीकरण टिप्पणी आप एक और उत्तर पर तैनात ...

"मैं संवाद, कोई फर्क नहीं पड़ता है, जो एप्लिकेशन पूरे सिस्टम में प्रदर्शित करना चाहते हैं के आधार पर उपयोगकर्ता इस समय उपयोग कर रहा है ... "

मुझे विश्वास नहीं है कि आप क्या करना चाहते हैं संभव है और मैं इसके बारे में खुश हूं। :) यदि आपको किसी और के ऐप पर थोड़ा सा संवाद बॉक्स पॉप अप करने की इजाजत है और फिर भी उपयोगकर्ता वर्तमान गतिविधि के साथ बातचीत करने में सक्षम है ... तो आप आसानी से उपयोगकर्ता को यह सोचने में सक्षम कर सकते हैं कि छोटा पॉपअप वर्तमान ऐप से संबंधित था और पृष्ठभूमि में से काम नहीं कर रहा है।

कल्पना कीजिए कि आप इस तरह की कुछ बुराई की कल्पना कर सकते हैं। जब वे ईमेल.एप में होते हैं तो उपयोगकर्ता अपने ईमेल पासवर्ड को पुन: दर्ज करने के लिए संकेत देते हैं .. और उसके बाद इसे दुर्भावनापूर्ण उद्देश्यों आदि के लिए संग्रहीत करते हैं।

यह संभव नहीं है .. और संभव नहीं होना चाहिए। यदि आपको किसी चीज़ के उपयोगकर्ता को सूचित करने की आवश्यकता है, तो आपको अंतर्निहित अधिसूचना प्रणाली का उपयोग करना चाहिए। यही कारण है कि यह वहाँ है! :)

0

"मैं संवाद प्रदर्शित करना चाहते हैं सिस्टम-वाइड, कोई फर्क नहीं पड़ता है, जो एप्लिकेशन उपयोगकर्ता पल में उपयोग कर रहा है ..."

यही कारण है कि क्या सूचना प्रणाली के लिए है। यह आपको उपयोगकर्ता को जो कुछ भी कर रहा था उसे बाधित किए बिना कुछ बताने की अनुमति देता है।

सिस्टम विस्तृत संवाद पॉपअप बुराई और खुशी से एंड्रॉइड में लागू नहीं किया गया है।

सूचना प्रणाली का उपयोग करें: http://developer.android.com/reference/android/app/Notification.html

इसके अलावा, अगर आप अपने अनुप्रयोग के ऊपर केवल एक संवाद है, तो हुए अपने संवाद को है यूआई अभी भी उत्तरदायी होने जाने के लिए सबसे आसान तरीका है के साथ ठीक कर रहे हैं, तो एक संवाद को पुन: करने के लिए है एक relativelayout दृश्य में और सामान्य मोडल संवाद के बजाय इसे प्रदर्शित करें।

संबंधित मुद्दे