I just want a custom scrollbar in my Listview with fastScrollEnabled but this doesn´t work! With fastScroll enabled, the custom scrollbar is not visible when scrolling normal and when scrolling fast, it's the default scrollbar. Without fastScrollEnabled is does work like it should be.
res\values\Styles.xlm:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:scrollbarThumbVertical">@drawable/scrollbar</item>
<item name="android:fastScrollThumbDrawable">@drawable/scrollbar</item>
<item name="android:fastScrollTrackDrawable">@drawable/scrollbar</item>
</style>
...
res\drawable\scrollbar.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="45"
android:endColor="#CC3401"
android:centerColor="#CC5c33"
android:startColor="#CC3401" />
<corners android:radius="8dp" />
<size android:width="4dp"/>
<padding
android:left="0.5dp"
android:right="0.5dp" />
</shape>
AndroidManifest.xml:
<application
android:theme="@style/AppTheme"
My Listview:
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff000020"
android:clickable="false"
android:fastScrollEnabled="true">
</ListView>
Can anyone please tell me what´s wrong here? Thanks!
UPDATE
The short answer is: "thumb" and "track"are different things, do not put same style. When you area using "fastScrollbarEnabled", the "track" needs to have height and width.
old answer below
Apparently you need specify the "thumb" height when with the "fastScrollEnabled" enabled. You are putting the same drawable to "thumb" and "track", is your intention?
See my codes:
style.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:fastScrollTrackDrawable">@drawable/fast_scrollbar_track</item>
<item name="android:fastScrollThumbDrawable">@drawable/fast_scrollbar</item>
<item name="android:scrollbarTrackVertical">@drawable/scrollbar_track</item>
<item name="android:scrollbarThumbVertical">@drawable/scrollbar</item>
</style>
</resources>
fast_scrollbar.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="45"
android:endColor="#ff00ff00"
android:centerColor="#ff00ff00"
android:startColor="#ff00ff00" />
<corners android:radius="8dp" />
<size android:width="4dp" android:height="50dp"/>
<padding
android:left="0.5dp"
android:right="0.5dp" />
</shape>
fast_scrollbar_track.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="45"
android:endColor="#ffff0000"
android:centerColor="#ffff0000"
android:startColor="#ffff0000" />
<corners android:radius="8dp" />
<size android:width="4dp" android:height="50dp"/>
<padding
android:left="0.5dp"
android:right="0.5dp" />
</shape>
scrollbar.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="45"
android:endColor="#ff00ff00"
android:centerColor="#ff00ff00"
android:startColor="#ff00ff00" />
<corners android:radius="8dp" />
<size android:width="4dp"/>
<padding
android:left="0.5dp"
android:right="0.5dp" />
</shape>
scrollbar_track.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="45"
android:endColor="#ffff0000"
android:centerColor="#ffff0000"
android:startColor="#ffff0000" />
<corners android:radius="8dp" />
<size android:width="4dp"/>
<padding
android:left="0.5dp"
android:right="0.5dp" />
</shape>
Prints of my device: