2015-01-07 9 views
9

मेरे पास मेरे एप्लिकेशन में एक वेब व्यू है जिसमें HTML सामग्री प्रदान की गई है और HTML सामग्री का आकार WebView के आकार से बड़ा है। जब उपयोगकर्ता उस पर अपनी उंगली खींचता है तो उसके अंदर कौन सी सामग्री स्क्रॉल हो रही है। मैं सामग्री के साथ इस आंतरिक स्क्रॉलिंग को रोकना चाहता हूं।Android में WebView की आंतरिक स्क्रॉलिंग को कैसे रोकें?

Heres क्या मैं पहले से ही अब तक की कोशिश की है:

WebView view = new WebView(context); //context is of Activity 
view.setHorizontalScrollBarEnabled(false); 
view.setVerticalScrollBarEnabled(false); 
view.setScrollContainer(false); 

और सीएसएस के रूप में:

overflow : hidden !important; 

कृपया छोड़कर समाधान वेबव्यू के लिए फिंगर खींचें (हैक) को अक्षम करने क्योंकि वह परेशान सुझाव है मेरी अन्य कार्यक्षमता, जो निम्नानुसार है:

@Override 
public boolean onTouch(View view, MotionEvent motionEvent) { 
    if(motionEvent.getAction() == MotionEvent.ACTION_MOVE) 
    { 
     return true; 
    } 
    } 
+0

क्लिक [यहां] (http://stackoverflow.com/a/5274400/4419437) मैं आशा है कि यह आप में मदद मिलेगी :) –

+0

@asimmahmoodKhan मैं अपने सवाल में इन सभी समाधान का उल्लेख किया है। कृपया पहले जांचें। धन्यवाद :) – Perry

+0

[यहां क्लिक करें] (http://stackoverflow.com/a/8654192/4419437) मुझे लगता है कि यह कोड आपकी मदद करेगा। अंतिम टिप्पणी के लिए क्षमा करें :) –

उत्तर

4

अपने वेब दृश्य के लिए एक कंटेनर है कि अपने सभी सामग्री लपेटता है और सिर्फ body तत्व नीचे बैठता है, तो तरह जोड़ें:

<body id="myBody"> 
    <div class="container"> 
    <!-- All your content goes in this new div.container --> 
    </div> 
</body> 

फिर, अपने पृष्ठ में सीएसएस जोड़ें:

body { 
    height: 100%; 
    width: 100%; 
    pointer-events: none; 
} 
div.container { 
    overflow: hidden!important; 
    height: 100%; 
    width: 100%; 
} 

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

आशा है कि मदद करता है।

+0

हाँ @ जोश बर्गेस, जो निश्चित रूप से काम करता है !!! आखिरकार मैंने वही काम किया जब एंड्रॉइड (जावा) में कुछ भी नहीं मिला। बस यहां पोस्ट करना भूल गए। धन्यवाद एक टन दोस्त :) :) :) – Perry

+0

हाय, मैंने आपके समाधान की कोशिश की है और वास्तव में स्क्रॉल निम्न आदेश का उपयोग बंद कर देता है: अतिप्रवाह: छुपा! महत्वपूर्ण; लेकिन समस्या यह है कि मेरा एचटीएमएल एक प्रवाह योग्य पाठ है, और मैं क्षैतिज पेजिंग करता हूं ताकि उपयोगकर्ता क्षैतिज पृष्ठों को फ़्लिप कर सके। यह आदेश फ़ाइल को क्लिप करता है ताकि बाकी एचटीएमएल फिसल गया हो, मैं चाहता हूं कि मैं केवल लंबवत स्क्रॉल को रोकूं। – coder

+0

@ कोडर फिर इसके बजाय 'ओवरफ्लो-वाई: छुपा' करें। –

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