2010-06-23 26 views
46

¿Alguien sabe de alguna documentación en el android: scrollbarStyle? Me gustaría ver ejemplos de cada uno de los 4 valores con capturas de pantalla si es posible. Veo la diferencia entre los tipos de afuera &, pero ¿de qué se tratan las piezas iniciales &? Parece que no veo una diferencia entre insideOutset & insideInset por ejemplo, del mismo modo, no veo una diferencia entre outsideOutset & fuera de Outset.android ListView scrollbarStyle

gracias de antemano! Ben

Respuesta

58

No hay valores como outsideOutset y insideOutset. Posibles cuatro valores son insideOverlay, insideInset, outsideOverlay, outsideInset
la documentación está allí en dos siguientes enlaces ...

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

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

que no podía entender la documentación correctamente. Tomando como referencia la demostración de la barra de desplazamiento ApiDemos, probé esto. Pero encontré que no hay diferencia en insideInset y outsideOverlay.
Estos dos valores son diff, ya sea que deben tener tanto como recuadro o superposición

scrollbar3.xml actualizada es

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

espero que alguien va a ver esto y aclarar ...

Screenshot for the View Scrollbar styles

172

Aquí hay un pequeño ejemplo más detallado. Configuré colores de fondo para que sea más obvio lo que está sucediendo aquí.

Android scrollBarStyle settings visualized

En primer lugar, los colores:

  • negro - Márgenes
  • blanco - el relleno de
  • grises - el contenido de la ScrollView
  • verde - la barra de desplazamiento si se ocupa su propio espacio (lo agregué explícitamente como scrollbarTrackVertical para los dos ejemplos de "inserción") ES)

Vamos a definir dos secciones:

  • "área de contenido" - las cosas que se mostrará en la vista de desplazamiento
  • "relleno" - el espacio alrededor del contenido de la vista de desplazamiento

Vamos a pensar en las dos partes de la scrollBarStyle por separado:

  • inside - la barra de desplazamiento aparece dentro el área de contenido (las envolturas de relleno alrededor tanto el contenido como la barra de desplazamiento)

  • outside - aparece la barra de desplazamiento fuera el área de contenido

  • overlay - la la barra de desplazamiento se superpone al borde derecho de la sección que está en

  • inset - la barra de desplazamiento empuja la sección a la izquierda t, ocupando un espacio propio

El diseño XML aparece a continuación

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