Est-ce que quelqu'un connaît de la documentation sur Android: scrollbarStyle? Je voudrais voir des exemples de chacune des 4 valeurs w/screenshots si possible. Je vois la différence entre les types extérieur et intérieur, mais en quoi consistent les parties Inset & Outset? Je ne semble pas voir de différence entre insideOutset et insideInset, par exemple, de même que je ne vois pas de différence entre outsideOutset et outsideOutset.
merci d'avance! Ben
Il n'y a pas de valeurs telles que outsideOutset et insideOutset. Les quatre valeurs possibles sont insideOverlay, insideInset, outsideOverlay, outsideInset
la documentation est là pour suivre deux liens ...
http://developer.Android.com/reference/Android/view/View.html#attr_Android:scrollbarStyle
http://developer.Android.com/reference/Android/view/View.html#SCROLLBARS_INSIDE_INSET
Je ne comprenais pas bien la documentation. Alors, prenant comme référence la démo de ApiDemos Scrollbar, j’ai essayé ceci. Mais j’ai trouvé qu’il n’y avait aucune différence entre insideInset et outsideOverlay.
Ces deux valeurs sont diff, soit elles devraient avoir les deux Inset ou Overlay
scrollbar3.xml mis à jour est
<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>
J'espère que quelqu'un va voir cela et clarifier ...
Voici un exemple un peu plus détaillé. J'ai mis en place des couleurs de fond pour rendre plus évident ce qui se passe ici.
Tout d'abord, les couleurs:
scrollbarTrackVertical
pour les deux exemples "incrustés")Définissons deux sections:
Pensons aux deux parties de la scrollBarStyle
séparément:
inside
- la barre de défilement apparaît dans la zone de contenu (le remplissage entoure à la fois le contenu et la barre de défilement)
outside
- la barre de défilement apparaît en dehors de la zone de contenu
overlay
- la barre de défilement recouvre le bord droit de la section dans laquelle elle se trouve
inset
- la barre de défilement pousse la section à gauche, occupant ainsi son propre espace
La mise en page xml apparaît ci-dessous
<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>
Les réponses ci-dessus ne fonctionnaient pas très bien pour moi.
Si c'est ce que vous voulez réaliser, voici ce qui se passe:
ListView:
<ListView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:scrollbarStyle="outsideOverlay"
Android:scrollbarThumbVertical="@drawable/scrollbar" />
Barre de défilement dessinable:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:drawable="@Android:color/transparent"
Android:width="20dp"/>
<item
Android:drawable="@Android:color/holo_red_dark"
Android:right="18dp" />
</layer-list>
Merci à cette réponse