2010-06-23 14 views
46

क्या किसी को एंड्रॉइड पर किसी भी दस्तावेज के बारे में पता है: scrollbar स्टाइल? यदि संभव हो तो मैं 4 मानों में से प्रत्येक के w/स्क्रीनशॉट के उदाहरण देखना चाहता हूं। मैं & के अंदर के अंदर के अंतर के बीच अंतर देखता हूं, लेकिन इंसेट & आउटसेट भागों के बारे में क्या है? मुझे अंदरूनी & के अंदर इंटरफ़ेस के बीच अंतर दिखाई नहीं देता है, उदाहरण के लिए, मुझे बाहरी आउटसेट & बाहरी आउटसेट के बीच कोई अंतर दिखाई नहीं देता है।एंड्रॉइड लिस्ट व्यू स्क्रॉलबार स्टाइल

अग्रिम धन्यवाद! बेन

उत्तर

58

बाहरी आउट्स और अंदरूनीट्स जैसे कोई मूल्य नहीं हैं। संभव चार मूल्यों insideOverlay, insideInset, outsideOverlay, outsideInset
प्रलेखन दो लिंक का अनुसरण में है ...

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

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

मैं प्रलेखन ठीक से नहीं समझ सकता है। तो एपीडेमोस स्क्रॉलबार डेमो से संदर्भ लेते हुए, मैंने कोशिश की। लेकिन मुझे पता चला कि में इंससेट और बाहर ओवरवर में कोई अंतर नहीं है।
ये दोनों मान diff कर रहे हैं, या तो वह

अद्यतन scrollbar3.xml है दोनों के रूप में इनसेट या ओवरले करना चाहिए था

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<ScrollView 
    android:id="@+id/view1" 
    android:layout_width="100dip" 
    android:layout_height="120dip" 
    android:padding="8dip" 
    android:scrollbarStyle="insideOverlay" 
    android:background="@android:color/white" 
    android:overScrollMode="never"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:background="@android:color/darker_gray" 
     android:text="@string/scroll_text" /> 
</ScrollView> 

<ScrollView 
    android:id="@+id/view2" 
    android:layout_width="100dip" 
    android:layout_height="120dip" 
    android:padding="8dip" 
    android:scrollbarStyle="insideInset" 
    android:background="@android:color/white" 
    android:overScrollMode="never"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:background="@android:color/darker_gray" 
     android:text="@string/scroll_text" /> 
</ScrollView> 

<ScrollView 
    android:id="@+id/view3" 
    android:layout_width="100dip" 
    android:layout_height="120dip" 
    android:padding="8dip" 
    android:scrollbarStyle="outsideOverlay" 
    android:background="@android:color/white" 
    android:overScrollMode="never"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:background="@android:color/darker_gray" 
     android:text="@string/scroll_text" /> 
</ScrollView> 

<ScrollView 
    android:id="@+id/view4" 
    android:layout_width="100dip" 
    android:layout_height="120dip" 
    android:padding="8dip" 
    android:scrollbarStyle="outsideInset" 
    android:background="@android:color/white" 
    android:overScrollMode="never"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:background="@android:color/darker_gray" 
     android:text="@string/scroll_text" /> 
</ScrollView></LinearLayout> 

मुझे आशा है कि किसी को यह देखने के लिए और स्पष्ट होगा ...

Screenshot for the View Scrollbar styles

172

यहां थोड़ा और विस्तृत उदाहरण दिया गया है। मैंने पृष्ठभूमि रंगों को और अधिक स्पष्ट करने के लिए सेट अप किया है कि यहां क्या हो रहा है।

Android scrollBarStyle settings visualized

सबसे पहले, रंग:

  • काला - मार्जिन
  • सफेद - padding
  • ग्रे - scrollview
  • हरी की सामग्री - स्क्रॉलबार अगर यह अपनी खुद की जगह लेता है (मैंने इसे दो "इंसेट" परीक्षा के लिए scrollbarTrackVertical के रूप में स्पष्ट रूप से जोड़ा तों)

के दो वर्गों को परिभाषित करते हैं:

  • "सामग्री क्षेत्र" - सामान स्क्रॉल दृश्य में प्रदर्शित करने के लिए
  • "पैडिंग" - पुस्तक दृश्य
  • की सामग्री के चारों ओर अंतरिक्ष

के scrollBarStyle के दो हिस्सों के बारे में अलग से सोचते हैं:

  • inside - स्क्रॉलबार

  • outside (दोनों सामग्री और स्क्रॉलबार आसपास गद्दी wraps) अंदर सामग्री क्षेत्र प्रकट होता है - स्क्रॉलबार प्रतीत होता है बाहर सामग्री क्षेत्र

  • overlay - स्क्रॉलबार उस अनुभाग के दाएं किनारे को ओवरले करता है जो

  • inset - स्क्रॉलबार उस अनुभाग को धक्का देता है जो इसे लीफ में है टी, अपने स्वयं के स्थान ले

लेआउट एक्सएमएल

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#000" 
    > 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:scrollbarStyle="insideOverlay" 
     android:background="#fff" 
     android:fadeScrollbars="false" 
     android:layout_margin="8dp" 
     android:padding="16dp" > 
      <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#aaa" > 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
      </LinearLayout> 
    </ScrollView> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:scrollbarStyle="insideInset" 
     android:background="#fff" 
     android:scrollbarTrackVertical="@drawable/green_block" 
     android:fadeScrollbars="false" 
     android:layout_margin="8dp" 
     android:padding="16dp" > 

     <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#aaa" > 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
     </LinearLayout> 

    </ScrollView> 
    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:scrollbarStyle="outsideOverlay" 
     android:background="#fff" 
     android:fadeScrollbars="false" 
     android:layout_margin="8dp" 
     android:padding="16dp" > 

     <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#aaa" > 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
     </LinearLayout> 

    </ScrollView> 
    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:background="#fff" 
     android:layout_weight="1" 
     android:scrollbarStyle="outsideInset" 
      android:scrollbarTrackVertical="@drawable/green_block" 
     android:fadeScrollbars="false" 
     android:layout_margin="8dp" 
     android:padding="16dp" > 

     <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#aaa" > 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 
नीचे दिखाई देता है