How can I change the width/thickness of a scrollbar?

33,914

Solution 1

add the following property to your layout

android:scrollbarSize="50dip"

Solution 2

see the android:scrollbarSize="" attribute of ScrollView.

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/btnBack"
    android:scrollbarSize="4dp"
    android:scrollbarThumbVertical="@drawable/scrollbar" >

Solution 3

For making very easy and using many times, same type of scrollbar in list view, use as a style and color in style.xml and color.xml in values folder.

i.e. in Android Studio :

Project_Name/app/main/res/values

and the code in

style.xml

 <resources>    
   <style name="mScrollBar">
     <item name="android:scrollbarSize">1dp</item>
     <item name="android:scrollbarThumbVertical">@color/base_color</item>
   </style>
 </resources>

in color.xml

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <color name="Salmon">#FA8072</color>
 </resources>
Share:
33,914
Michael Yaworski
Author by

Michael Yaworski

Updated on October 27, 2020

Comments

  • Michael Yaworski
    Michael Yaworski over 3 years

    Currently this is my scrollbar.xml file:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <gradient
            android:angle="45"
            android:centerColor="@color/blue"
            android:endColor="@color/blue"
            android:startColor="@color/blue" />
    
        <corners android:radius="8dp" />
    
    </shape>
    

    And this is my ScrollView:

    <ScrollView
        android:id="@+id/scrollView1"
        android:scrollbarThumbVertical="@drawable/scrollbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/btnBack" >
    

    This is the scrollbar it gives me. It's good, except it's too thick and obvious. It may not look thick in this screenshot, but it really is.

    enter image description here

    Am I able to set a ScrollView property to adjust the width/thickness of the scrollbar? Or can I put a property in my gradient?