在修改listview布局时,需要改滚动条的样式。忘记了是什么属性。在网上一搜,五花八门的,找了很久终于找到了属性。我决定写下来给更多的人看到。
系统默认的滚动条颜色是灰色的,我把它改成了白色,设置了他的宽度
list_scroll_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:startColor="#ffffff"
android:endColor="#ffffff"
android:angle="0"/>
<size android:width="3dp"/>
<corners android:radius="0dp" />
</shape>
<ListView
android:id="@+id/main_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:scrollbarThumbVertical="@drawable/list_scroll_bg"
android:scrollbarSize="20dp"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbarStyle="insideOverlay"
android:scrollbarFadeDuration="0"
android:fadeScrollbars="false">
一般滚动条的位置显示在内容里,显得有点丑,可用下面的方法改变其位置
mListView.scrollTo(mListView.getWidth()+24, 0);
也可以设置 android:scrollbarStyle="insideInset"或者android:scrollbarStyle="outsideInset",这个属性是设置滚动条不覆盖listview内容。如果想要滚动条离listview更远一点,用上面那个方法。
设置滚动条一直存在
android:scrollbarFadeDuration="0"
android:fadeScrollbars="false"
有时候设置了一些属性却没有相应的效果,比如设置listview的滚动条样式,想要一个图片作为滚动条显示,需要设置sdk的版本, minsdkversion 21。