How can I change the width/thickness of a scrollba

2019-01-14 15:00发布

问题:

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.

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?

回答1:

add the following property to your layout

android:scrollbarSize="50dip"


回答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" >


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