RecyclerView 滾動條 長寬設定
阿新 • • 發佈:2018-12-07
RecyclerView Scrollbar
記錄滾動條相關屬性,本文主要內容:
1,scrollbar 樣式設定
2,scrollbar 背景以及滾動條 長寬設定
屬性 | 效果 |
android:scrollbars | 設定滾動條水平 horizontal / 或垂直 vertical |
scrollbarThumbVertical[Horizontal] | 設定滑塊(短條) |
scrollbarTrackVertical[Horizontal] | 設定背景(長條) |
android:scrollbarStyle 滾動條的樣式和位置 |
insideOverlay (預設值,表示在padding區域內並且覆蓋在view上) |
insideInset (表示在padding區域內並且插入在view後面) | |
outsideOverlay(表示在padding區域外並且覆蓋在view上) | |
outsideInset(表示在padding區域外並且插入在view後面) | |
scrollbarSize | 設定滾動條的大小,垂直時指寬度,水平時指高度 |
overScrollMode | (never)設定滑動到邊緣時無效果模式 |
scrollbars | (none)設定滾動條不顯示 |
一,樣式設定:
在styles.xml 檔案中新增一個 style標籤
<style name="ZoomItemRecyclerView_style">
<item name="android:scrollbarThumbVertical">@color/blue_color_008ee3</item>
<item name="android:scrollbarTrackVertical">@color/white_5</item>
<item name="android:layout_marginRight">@dimen/dpi_10px</item>
<item name="android:layout_marginLeft">@dimen/dpi_10px</item>
<item name="android:scrollbarSize">@dimen/dpi_5px</item>
<item name="android:overScrollMode">never</item>
<item name="android:scrollbars">vertical</item>
<item name="android:scrollbarStyle">insideOverlay</item>
</style>
注意:滾動條的 背景和滑塊設定
- Shape自定義 Drawable
- 圖片
- .9.png
@color/xxx
的方式使用顏色值
此處設定一個 垂直的滾動條,然後在xml中引用該樣式
<cn.sh.changxing.onlineradio.aa_activity.view.ZoomItemRecyclerView
android:id="@+id/fragment_recommend_list"
style="@style/ZoomItemRecyclerView_style"
android:layout_width="match_parent"
android:layout_height="match_parent" />
效果圖如下
最簡單的一個效果出來了,但是這裡可以看到,有兩個現象
1,滾動條起始位置(這裡就是指背景高度)是撐滿整個列表的
2,當列表資料越多的時候,滑塊長度越小
如果我滾動條長度要求只佔80%,或指定高度,滑塊長度維持不變,那這明顯不行
二,背景以及滾動條 長寬設定
稍微修改下,背景跟滑塊 使用兩張自定義圖片
<item name="android:scrollbarThumbVertical">@drawable/aa_scrollbar</item>
<item name="android:scrollbarTrackVertical">@drawable/aa_scrollbar_bg</item>
aa_scrollbar.xml 滑塊圖片
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:height="@dimen/dpi_80px"
android:bottom="@dimen/dpi_20px"
android:top="@dimen/dpi_20px">
<shape>
<corners android:radius="@dimen/dpi_2px" />
<solid android:color="?attr/Theme_color" />
</shape>
</item>
</layer-list>
android:height 指定高度
android:bottom 距離底部
android:top 距離頂部
corners 圓角
solid 填充顏色
aa_scrollbar_bg.xml 背景圖片
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/dpi_20px"
android:top="@dimen/dpi_20px">
<shape>
<corners android:radius="@dimen/dpi_2px" />
<solid android:color="@color/scrollbar_bg" />
</shape>
</item>
</layer-list>
背景圖片僅少了指定高度
效果如下:
高亮滑塊 長度固定, 滾動條總長度佔整個高度的80%左右,並帶有圓角效果。
記錄一下