帮酷LOGO
  • 显示原文与译文双语对照的内容
A simple FastScroller for Android's RecyclerView

  • 源代码名称:RecyclerView-FastScroll
  • 源代码网址:http://www.github.com/timusus/RecyclerView-FastScroll
  • RecyclerView-FastScroll源代码文档
  • RecyclerView-FastScroll源代码下载
  • Git URL:
    git://www.github.com/timusus/RecyclerView-FastScroll.git
  • Git Clone代码到本地:
    git clone http://www.github.com/timusus/RecyclerView-FastScroll
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/timusus/RecyclerView-FastScroll
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • recyclerview-fastscroll

    Maven CentralAPILicenseBuild Status

    一个简单的FastScrollerRecyclerView

    使用 LinearLayoutManager 或者 GridLayoutManager ( 包括多个范围) 支持垂直 RecyclerViews

    样式是基于 ListViewFastScroller的,不管 Lollipop的最后一个版本是什么。 这个库大量借用了来自谷歌的 Launcher3的。

    Screenshot

    Gradle

    compile 'com.simplecityapps:recyclerview-fastscroll:1.0.17'

    用法

    你必须使用 FastScrollRecyclerView 作为基础 RecyclerView 。 如果你遇到问题,请查看示例项目。

    通过 xml:

     <com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
     android:id="@+id/recycler"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     app:fastScrollPopupBgColor="@color/colorAccent"
     app:fastScrollPopupTextColor="@android:color/primary_text_dark"
     app:fastScrollThumbColor="@color/colorAccent"/>

    要显示 FastScrollPopup,适配器必须实现 FastScrollRecyclerView.SectionedAdapter 并重写 getSectionName()

    如果需要知道什么时候启动或者停止滚动,则可以将OnFastScrollStateChangedListener附加到 FastScrollRecyclerView 。

    行高

    默认情况下,FastScrollRecyclerView 假定适配器中的所有项都具有相同的高度。 如果适配器具有不同高度的视图,则应使适配器实现 MeasurableAdapter 接口并重写 getViewTypeHeight()

    getViewTypeHeight() 返回给定类型的单个视图的高度( 以像素为单位) 。 视图类型的所有实例之间的高度必须是固定的并且是固定的。 由于实现者在视图布局之前负责计算这里值,因这里不适用于视图的高度由项的可以变行数。

    目前,MeasurableAdapter 仅适用于 LinearLayoutManager 。 使用 MeasurableAdapter 与一个超过一个 span的GridLayoutManager 将导致滚动条拇指到达滚动条背景背景之前的列表底部。

    定制

    你可以使用xml中的fastScrollAutoHide & fastScrollAutoHideDelay 属性启用/禁用自动隐藏:

     <com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
     app:fastScrollAutoHide="true"
     app:fastScrollAutoHideDelay="1500"
    . . .

    或者通过 setAutoHideDelay(int hideDelay) 以编程方式 setAutoHideEnabled(boolean autoHideEnabled)

    弹出背景,弹出文本,popupBackground大小,弹出文本大小,轨迹背景,缩略图颜色和弹出位置都可以通过xml进行样式设置:

     <com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
     app:fastScrollPopupBgColor="@color/colorAccent"
     app:fastScrollPopupTextColor="@android:color/primary_text_dark"
     app:fastScrollPopupTextSize="56sp"
     app:fastScrollPopupBackgroundSize="88dp"
     app:fastScrollThumbColor="@color/colorAccent"
     app:fastScrollTrackColor="#1f000000" 
     app:fastScrollPopupPosition="adjacent"/>
    . . .

    或者通过 setThumbColor(@ColorInt int color)setTrackColor(@ColorInt int color)setPopupBgColor(@ColorInt int color) , setPopupTextColor(@ColorInt int color)setPopupTextSize(int size) & setPopupPosition(@FastScroller.FastScrollerPopupPosition int position)

    你可以通过以下方式启用/禁用快速滚动:

     <com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
     app:fastScrollThumbEnabled="false"
    . . .

    通过编程方式或者通过编程方式 setFastScrollThumbEnabled(boolean enabled)

    更新

    1.0.17

    • MeasurableAdapter 调整
    • 改进的示例,更好地演示 MeasurableAdapter
    • 添加选项以启用/禁用 fastscroll ( 通过 fastScrollThumbEnabled 属性)
    • 依赖项更新

    1.0.16

    • 通过 MeasurableAdapter 增加了对不同行高的支持

    1.0.15

    • 修复了阻止视图在 Android Studio'设计'面板中呈现的问题。
    • 更新的依赖项

    1.0.14

    • 以编程方式设置弹出位置

    1.0.13

    • 添加选项,用于将FastScroll弹出式菜单放置在RecyclerView的中心( 而不是跟随FastScroll拇指的跟踪)

    1.0.12

    • 修正了一个混淆器混淆问题,防止动画运行
    • 修正了弹出背景颜色忽略alpha通道的问题
    • 添加了对项目装饰的支持

    1.0.11

    • 添加了FastScrollStateChanged侦听器。在滚动开始&停止时通知。

    1.0.10

    • 添加了用于设置弹出背景&文本大小的方法/属性
    • 添加了设置弹出字体的方法
    • 修正了在弹出窗口上方绘制项目装饰的问题( #18 )
    • 更新的依赖项

    v1.0.9

    • 更新的gradle &依赖项
    • RecyclerView 上没有设置适配器时固定崩溃
    • 固定崩溃时 RecyclerView 子进程为空( 。itemCount 为非零,但 getChildAt(0) 返回 null ) 。

    v1.0.6

    • FastScrollPopup 不再要求适配器实现 SectionIndexer,而是 FastScrollRecyclerView.SectionedAdapter 这更容易使用。

    许可证

    recyclerview fastscroll

     Copyright (C) 2016 Tim Malseed
    Licensed under the Apache License, Version 2.0 (the"License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
     http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an"AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

    启动器 3:

     Copyright (C) 2010 The Android Open Source Project
    Licensed under the Apache License, Version 2.0 (the"License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
     http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an"AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.



    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语