Scrollbar样式介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dangnianmingyue_gg/article/details/72723053

今天突然需要修改RecyclerView的ScrollBar的样式,之前没有这方面的需求,网上查了查资料,记录下以便后面用到。

参考资料:http://likfe.com/2016/05/16/diyScrollbar/

知识点

在ListView/ScrollView/RecyclerView中添加属性:

<!-- 情况A :垂直滚动条-->
android:scrollbars="vertical"
android:scrollbarTrackVertical="@drawable/xxx_vertical_track"
android:scrollbarThumbVertical="@drawable/xxx_vertical_thumb"
<!-- 情况B :水平滚动条-->
android:scrollbars="horizontal"
android:scrollbarTrackHorizontal="@drawable/xxx_horizontal_track"
android:scrollbarThumbHorizontal="@drawable/xxx_horizontal_thumb"

<!-- 其他通用的属性 -->
<!-- 1.定义滚动条的样式和位置 -->
android:scrollbarStyle="outsideInset"
<!-- 2.定义滚动条的大小,垂直时指宽度,水平时指高度 -->
android:scrollbarSize="4dp"

属性 效果
scrollbarThumbVertical[Horizontal] 短条
scrollbarTrackVertical[Horizontal] 长条,即背景

即scrollbaTrackxxx,scrollbarThumbxxx自定义的 xml 文件,放在Drawable中,track是指长条,thumb是指短条,然后再 xml 中定义短条和长条的样式。

需要注意

其中,scrollbaTrackxxx、scrollbarThumbxxx可以使用:

  1. Shape自定义 Drawable
  2. 图片
  3. .9.png
  4. @color/xxx的方式使用颜色值

不可以直接使用#xxxxxx颜色值

android:scrollbarStyle

android:scrollbarStyle可以定义滚动条的样式和位置,可选值有insideOverlay、insideInset、outsideOverlay、outsideInset四种。

其中inside和outside分别表示是否在 view 的 padding 区域内,overlay和inset表示覆盖在 view 上或是插在 view 后面,所以四种值分别表示:

属性 效果
insideOverlay 默认值,表示在padding区域内并且覆盖在view上
insideInset 表示在padding区域内并且插入在view后面
outsideOverlay 表示在padding区域外并且覆盖在view上
outsideInset 表示在padding区域外并且插入在view后面

猜你喜欢

转载自blog.csdn.net/dangnianmingyue_gg/article/details/72723053
今日推荐