2012-05-07 15 views
6

मेरा प्रश्न सरल है: Android में किसी दृश्य पर किसी भी ईवेंट को अक्षम कैसे करें? (इसकी फोकसबिलिटी को हटाकर, जैसे कि मैं चाहता हूं कि यह वहां पर नजर रखे लेकिन बाकी सब कुछ पर असहनीय हो) और क्या यह पूरे दृश्य पेड़ पर काम करता है? (जैसे कि मैं रूट पर घटनाओं को अक्षम करता हूं, सभी घटनाएं अपने बच्चों के लिए अक्षम हो जाएंगी?)।एंड्रॉइड में किसी भी दृश्य पर किसी भी ईवेंट को अक्षम कैसे करें?

अब

, इससे पहले कि आप कहते हैं कि कुछ भी मैं सभी निम्नलिखित की कोशिश की है:

और इन तरीकों में से कोई भी गंभीरता से काम करने के लिए प्रकट नहीं होता है।

मैंने उन्हें सीधे WebView पर, साथ ही साथ सबकुछ पर मूल लेआउट पर भी कोशिश की है, लेकिन मैं अभी भी इसके साथ बातचीत करने में सक्षम हूं।

कोई विचार?

धन्यवाद!

संपादित करें # 1

समाधान उस दृश्य अक्षम होने से काम नहीं करता जरूरत है उस के शीर्ष पर एक दृश्य जोड़ने में होते हैं। वास्तव में, यह अभी भी भीतरी दृश्य पर क्लिक करने के लिए संभव है, मैं एक साधारण उदाहरण के साथ की कोशिश की है:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:background="#ff0000"> 
     <Button 
      android:id="@+id/button" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:text="Click Me!" 
     /> 
    </LinearLayout> 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#00000000" 
    /> 
</FrameLayout> 

यहाँ यह अभी भी button पर क्लिक करना संभव है।

संपादित करें # 2

कारण है कि मैं ऐसा करना चाहते हैं following question कि मैं हफ्ते पहले पूछा से संबंधित है।

मेरे पास ListView एक नेविगेशन बार के रूप में कार्य करता है जो View के नीचे है जो मेरे ऐप की सामग्री रखता है। इस कार्यान्वयन के साथ समस्या यह है कि जब मैं ListView के माध्यम से स्क्रॉल करने का प्रयास करता हूं, तो इसके शीर्ष पर परत में एक फोकस करने योग्य दृश्य होता है, तो ListView स्क्रॉल नहीं करता है और इसके बजाय यह शीर्ष दृश्य है जो ध्यान केंद्रित करता है (यही वह मामला है Webview या EditText इत्यादि) है।

तो हाँ के रूप में जवाब में से एक में उल्लेख किया है, मैं setOnTouchListener अधिभावी द्वारा एक WebView पर क्लिक होने की घटनाओं को निष्क्रिय कर सकते हैं, लेकिन दृश्य ध्यान केंद्रित रहता है और मुझे लगता है कि यही कारण है कि मैं अभी भी अपने नेविगेशन पट्टी के साथ एक ही मुद्दा हो रहा है ।

उत्तर

5

बस अपने विचार के शीर्ष पर एक दृश्य डालें। आप इसे देखकर इसे टॉगल कर सकते हैं। दृश्यता = चला गया/दृश्यमान।

<FrameLayout> 
<WebView/> 
<FrameLayout This view will be on top/> 
</FrameLayout> 

संपादित करें: बस इस लिंक पर stumpled: https://stackoverflow.com/a/3856199/969325 मूल रूप से वेबव्यू के लिए सभी स्पर्श घटना अक्षम करता है। कोशिश की?

संपादित करें 2 रीडिट: अपनी सूचीदृश्य के नीचे शीर्ष दृश्य के लिए दृश्यता सेट करने का प्रयास करें।

+0

मैं नहीं चाहता कि यह गायब हो जाए! मैं बस किसी भी घटना (जैसे क्लिक) को अक्षम करना चाहता हूं ... –

+0

@AmokraneChentir बस इसे पारदर्शी बनाएं ... एंड्रॉइड: पृष्ठभूमि = "एंड्रॉइड: रंग/पारदर्शी" <- यदि यह मौजूद है, तो अन्यथा आप अपने पारदर्शी रंग बनाते हैं – Warpzit

+0

ओह ठीक है, मैंने आपका जवाब ठीक से नहीं पढ़ा। वास्तव में इसके शीर्ष पर एक और दृश्य के साथ भी, मैं अभी भी आंतरिक दृश्य पर इसके माध्यम से क्लिक करने में सक्षम हूं। –

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