2010-06-23 6 views
46

Кто-нибудь знает о какой-либо документации по андроиду: scrollbarStyle? Я хотел бы увидеть примеры каждого из 4 значений w/screenshots, если это возможно. Я вижу разницу между внешними & внутри типов, но что такое Inset & Комплектация деталей? Кажется, я не вижу разницы между InsideOutset & внутриInset например, аналогично, я не вижу разницы между outsideOutset & снаружиOutset.android ListView scrollbarStyle

благодарит заранее! Ben

ответ

58

Нет таких значений, как outsideOutset и insideOutset. Возможные четыре значения 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

Я не мог понять документацию правильно. Так что, взяв ссылку с демо-версии прокрутки ApiDemos, я попробовал это. Но я обнаружил, что нет никакой разницы в внутриInset и outsideOverlay.
Эти два значения дифф, либо он должен быть и как Врезка или Overlay

обновленный 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

Во-первых, цвета:

  • черный - поля
  • белый - обивка
  • серый - содержимое в Scrollview
  • зеленый - скроллбара если его занимает свое собственное пространство (я добавил это явно как scrollbarTrackVertical для двух примеров «вставки» эс)

Определим две секции:

  • «область содержимого» - материал, который будет отображаться в окне прокрутки
  • «набивка» - пространство вокруг содержания зрения прокрутки

Давайте думать о двух частях scrollBarStyle отдельно:

  • inside - полоса прокрутки появляется внутри области содержимого (обивке обтекает как содержания, так и скроллинга)

  • outside - полоса прокрутки появляется вне область содержимого

  • overlay - полоса прокрутки накладывает правый край участка, который находится в

  • inset - полоса прокрутки толкает секцию, в которую она входит, в левый т, занимая свое собственное пространство

Схема XML появляется ниже

<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>