Android में स्क्रॉल बार से स्क्रॉल बार ट्रैक निकालें


104

मेरे Android ऐप में एक मुख्य WebView (एक स्थानीय संसाधन से लोड किया गया HTML) है जिसे मैं स्क्रीन की पूरी चौड़ाई का उपयोग करना चाहता हूं और (लंबवत) स्क्रॉल करने योग्य बनाने में सक्षम हूं। इसलिए मैंने अपने लेआउट XML में एक स्क्रॉल में WebView को लपेटा है, लेकिन कोई फर्क नहीं पड़ता कि मैं क्या कर सकता हूं स्क्रॉल स्क्रॉल दृश्य के दाईं ओर से स्क्रॉल बार ट्रैक को निकालने में सक्षम नहीं हो सकता। इससे भी बदतर, मैं स्क्रॉल बार ट्रैक की पृष्ठभूमि का रंग बदलने में सक्षम नहीं हो सकता।

ट्रैक लगभग 10dp या तो लेता है, जो WebView में HTML के लिए समस्याएं पैदा कर रहा है। मैं स्क्रॉल बार को वेब दृश्य (iPhone शैली के शीर्ष पर प्रकट करना चाहता हूं , यदि आप जानते हैं कि मेरा क्या मतलब है)। अब, आप कह सकते हैं कि "आप अपने HTML को 10px पतले होने के लिए क्यों नहीं बदलते?", जो कि मेरा कमबैक समाधान है, लेकिन मुझे बहुत कुछ करना नहीं है।

यहाँ लेआउट XML का प्रासंगिक स्निपेट है, आप देखेंगे कि मैंने हर एंड्रॉइड को आज़माया है: आदि जो विशेषता मुझे मिल सकती है:

<ScrollView 
  android:id="@+id/deal_web_view_holder"
  android:layout_below="@id/clock_bar_holder"
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent"
  android:fillViewport="false"
  android:fadingEdge="none"
  android:background="#02a7e9"
  android:scrollbars="none"
  android:scrollbarSize="0dp"
  android:paddingRight="0dp"
  android:scrollbarAlwaysDrawVerticalTrack="false"
  android:scrollbarStyle="insideOverlay"
  android:scrollbarTrackVertical="@drawable/scrollbar_track_vertical" >
    <WebView
       android:id="@+id/deal_web_view"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"/>  
</ScrollView>

मैं प्लेटफ़ॉर्म 2.1 / API lvl 7 को लक्षित कर रहा हूं, वास्तव में सिर्फ सामान्य आकार के डिस्प्ले, एमडीपी, एचडीपी और एक्सएचडीपी के साथ काम कर रहा हूं।

जवाबों:


506

एक दृश्य से स्क्रॉलबार हटाने के लिए (और इसके उपवर्ग) xml के माध्यम से:

android:scrollbars="none"

http://developer.android.com/reference/android/view/View.html#attr_android:scrollbars


1
यह वह नहीं है जो प्रश्न पोस्टर ने पूछा था। उन्होंने कहा कि वह होगाlike the scrollbar to appear on top of the web view content
सुधांशु

11
यह काम करता है लेकिन आप कीबोर्ड के खुलने पर स्क्रीन को स्क्रॉल नहीं कर पाएंगे
DeltaCap019

4
Android: ScrollbarThumbVertical = "@ null" इसे
स्क्रॉलव्यू

29

प्रयास करें कि यह आपकी गतिविधि है:

ScrollView sView = (ScrollView)findViewById(R.id.deal_web_view_holder);
// Hide the Scollbar
sView.setVerticalScrollBarEnabled(false);
sView.setHorizontalScrollBarEnabled(false);

http://developer.android.com/reference/android/view/View.html#setVerticalScrollBarEnabled%28boolean%29


धन्यवाद ... मैंने कोशिश की है कि पहले से ही एक (कोड और लेआउट में। Xml), लेकिन यह दृष्टिकोण अभी भी स्क्रॉल के भीतर WebView के क्षैतिज आकार के साथ हस्तक्षेप करता है। सबसे अच्छा समाधान ऊपर प्रदान किया गया था, बस स्क्रॉलव्यू को पूरी तरह से हटा देना और वेबव्यू को स्क्रॉलिंग को खुद को संभालने की अनुमति देना था। मूल समस्या यह समझने की मेरी कमी थी कि स्क्रोल व्यू का उपयोग करना कब उचित था; यानी Android में हर दृश्य स्क्रॉलिंग को संभाल सकता है।
मिक ब्रेन

18

मैं एक छोटे से उलझन में क्यों एक लगा रहे हैं रहा हूँ WebViewएक में ScrollViewपहली जगह में। A के WebViewपास खुद का बनाया हुआ स्क्रॉल सिस्टम है।

अपने वास्तविक प्रश्न के बारे में, यदि आप Scrollbarशीर्ष पर दिखाना चाहते हैं, तो आप उपयोग कर सकते हैं

view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY) or   
android:scrollbarStyle="insideOverlay"

हां, आप सही हैं कि पहली बार में स्क्रॉलव्यू की आवश्यकता नहीं है, मैंने यहाँ वापस जाँच करने से पहले खुद काम किया। वेब दृश्य पर 'setScrollBarStyle' ने एक उपचार का काम किया, धन्यवाद!
मिक बायरन

न केवल इसकी आवश्यकता नहीं है, एक स्क्रॉल दृश्य में स्क्रॉल करने योग्य दृश्य शामिल नहीं हो सकते हैं, इसलिए आपके WebView को वैसे भी स्क्रॉल नहीं किया जाएगा
एक व्यक्ति

3
काम नहीं कर रहा। सही जवाब है गरज़हद का जवाब।
मिसाग इमामवर्दी

3
सही उत्तर नीचे है, Android: स्क्रॉलबार = "कोई नहीं"
अरीब करीम

5

इसे मेरी समस्या को मेरे साथ जोड़कर हल किया ListView:

android:scrollbars="none"

4

ये समाधान मेरे मामले में रिलेटिव लेआउट के साथ फेल हुए और यदि की-बोर्ड खुला है android:scrollbars="none"और android:scrollbarStyle="insideOverlay"काम नहीं कर रहा है।

टूलबार चला गया है, मेरा किया बटन चला गया है।

काम नहीं कर रहा

यह एक मेरे लिए काम कर रहा है

myScrollView.setVerticalScrollBarEnabled(false);

2

नीचे का उपयोग करके, समस्या को हल किया

android:scrollbarThumbVertical="@null"

समीक्षा से: हाय, कृपया स्रोत कोड के साथ जवाब न दें। आपका समाधान कैसे काम करता है, इसके बारे में अच्छा विवरण देने का प्रयास करें। देखें: मैं एक अच्छा उत्तर कैसे लिखूं? । धन्यवाद
sɐunıɔ ןɐ qɐp
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.