打赏

Android 关于列表ListView

一、ListView

  1. android-pulltorefresh
    一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment 上下左右拉动刷新,比下面 johannilsson 那个只支持 ListView 的强大的多。并且它实现的下拉刷新 ListView 在 item 不足一屏情况下也不会显示刷新提示,体验更好。
    项目地址:https://github.com/chrisbanes/Android-PullToRefresh
    Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
    APP 示例:新浪微博各个页面

  2. android-pulltorefresh-listview
    下拉刷新 ListView,这个被很多人使用的项目实际有不少 bug,推荐使用 android-Ultra-Pull-to-Refresh
    项目地址:https://github.com/johannilsson/android-pulltorefresh
    Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refresh-listview-demo.apk?raw=true

  3. android-Ultra-Pull-to-Refresh
    下拉刷新,第一个项目已经停止维护了,并且使用起来相对复杂,定制性也差。这个是替代和改良方案。这个继承于 ViewGroup 可以包含任何 View。功能甚至比 SwipeRefreshLayout 强大。使用起来非常简单。良好的设计,如果你想定制自己的 UI 样式,非常简单,就像给 ListView 加一个 Header View 那么简单。支持 API LEVEL >= 8
    项目地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh
    原理剖析文档:[android-Ultra-Pull-to-Refresh](https://a.codekk.com/detail/Android/Grumoon/android-Ultra-Pull-To-Refresh 源码解析)
    Demo 地址:https://raw.githubusercontent.com/liaohuqiu/android-Ultra-Pull-To-Refresh/master/ptr-demo.apk
    效果图:
    http://srain-github.qiniudn.com/ultra-ptr/release-to-refresh.gif
    http://srain-github.qiniudn.com/ultra-ptr/auto-refresh.gif
    http://srain-github.qiniudn.com/ultra-ptr/store-house-string-array.gif

  4. Android-PullToRefreshRecyclerView
    支持下拉刷新的RecyclerView,同时支持滑动到底部自动加载数据、给RecyclerView添加Header。并且不更改原有RecyclerView的逻辑。

    项目地址:https://github.com/HomHomLin/Android-PullToRefreshRecyclerView Demo地址:https://github.com/HomHomLin/Android-PullToRefreshRecyclerView/blob/master/sample.apk

  5. DragSortListView
    拖动排序的 ListView,同时支持 ListView 滑动 item 删除,各个 Item 高度不一、单选、复选、CursorAdapter 做为适配器、拖动背景变化等
    项目地址:https://github.com/bauerca/drag-sort-listview
    Demo 地址:https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv
    APP 示例:Wordpress Android

  6. SwipeListView
    支持定义 ListView 左右滑动事件,支持左右滑动位移,支持定义动画时间
    项目地址:https://github.com/47deg/android-swipelistview
    Demo 地址:https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview
    APP 示例:微信

  7. Android-SlidingLayout
    实现类似QQ、微信ListView和WebView的上拉下拉弹跳效果和iOS的ListView的果冻效果。兼容Android自带库和兼容库的所有View组件,包括RecyclerView、ListView、ScrollView以及WebView等等。
    项目地址:https://github.com/HomHomLin/SlidingLayout/。
    Demo地址:https://github.com/HomHomLin/SlidingLayout/tree/master/demo

  8. SlideAndDragListView
    支持ListView的Item的拖动排序、左右滑动事件,可自定义左右滑动显示文字、图标、位移,同时支持onItemClick、onItemLongClick等监听器,提供丰富的回调接口。
    项目地址:https://github.com/yydcdut/SlideAndDragListView
    Demo 地址:https://github.com/yydcdut/SlideAndDragListView/blob/master/apk/sdlv.apk?raw=true
    APP 示例:Android 手机QQ 5.0
    效果图:

  9. Android-SwipeToDismiss
    滑动 Item 消失 ListView,支持 3.0 以下版本见:https://github.com/JakeWharton/SwipeToDismissNOA
    项目地址:https://github.com/romannurik/Android-SwipeToDismiss
    Demo 地址:https://github.com/JakeWharton/SwipeToDismissNOA/SwipeToDismissNOA.apk/qr_code

  10. RecyclerViewSwipeDismiss
    轻量级支持 support-v7 中的 RecyclerView 的滑动删除(Swipe to dismiss)行为,不需要修改源代码,只要简单的绑定onTouchListener
    项目地址:https://github.com/CodeFalling/RecyclerViewSwipeDismiss
    效果图:

  11. QuickSideBar
    帮助快速查阅对应分组的侧边栏,可以配合任意列表,demo中给出配合RecyclerView(浮动分组使用stickyheadersrecyclerview)。
    项目地址:https://github.com/saiwu-bigkoo/Android-QuickSideBar
    效果图:

  12. async-expandable-list 支持异步加载子列表的 ExpandableListView,包括CollectionView可以显示小标题的列表 项目地址:https://github.com/Ericliu001/async-expandable-list

      1. PinnedHeaderExpandableListView
        首先它是一个 ExpandableListView,但是它的头部可以固定,其次,在它的上面还有一个头部可以来回伸缩
        项目地址:https://github.com/singwhatiwanna/PinnedHeaderExpandableListView
        效果图:Renderings
        APP 示例:百度手机卫士垃圾清理界面

      2. StickyListHeaders
        GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView,支持快速滑动,支持 Android2.3 及以上
        项目地址:https://github.com/emilsjolander/StickyListHeaders
        效果图:
        APP 示例:Android 4.0 联系人

      3. pinned-section-listview
        GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView
        项目地址:https://github.com/beworker/pinned-section-listview
        效果图:Renderings

      4. PinnedHeaderListView
        GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView
        项目地址:https://github.com/JimiSmith/PinnedHeaderListView

      5. QuickReturn
        ListView/ScrollView 的 header 或 footer,当向下滚动时消失,向上滚动时出现
        项目地址:https://github.com/lawloretienne/QuickReturn
        Demo 地址:https://play.google.com/store/apps/details?id=com.etiennelawlor.quickreturn

      6. QuickReturnHeader
        ListView/ScrollView 的 header 或 footer,当向下滚动时消失,向上滚动时出现
        项目地址:https://github.com/ManuelPeinado/QuickReturnHeader
        Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=true
        APP 示例:google plus

      7. IndexableListView
        ListView 右侧会显示 item 首字母快捷索引,点击可快速滑动到某个 item
        项目地址:https://github.com/woozzu/IndexableListView
        Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=true
        APP 示例:微信通讯录、小米联系人

      8. CustomFastScrollView
        ListView 快速滑动,同时屏幕中间 PopupWindows 显示滑动到的 item 内容或首字母
        项目地址:https://github.com/nolanlawson/CustomFastScrollViewDemo
        效果图:Renderings

      9. Android-ScrollBarPanel
        ListView 滑动时固定的 Panel 指示显示在 scrollbar 旁边
        项目地址:https://github.com/rno/Android-ScrollBarPanel
        效果图:Renderings

      10. SlideExpandableListView
        用户点击 listView item 滑出固定区域,其他 item 的区域收缩
        项目地址:https://github.com/tjerkw/Android-SlideExpandableListView
        Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=true

      11. JazzyListView
        ListView 及 GridView item 以特殊动画效果进入屏幕,效果包括 grow、cards、curl、wave、flip、fly 等等
        项目地址:https://github.com/twotoasters/JazzyListView
        Demo 地址:https://play.google.com/store/apps/details?id=com.twotoasters.jazzylistview.sample
        在线演示:http://lab.hakim.se/scroll-effects/

      12. ListViewAnimations
        带 Item 显示动画的 ListView,动画包括底部飞入、其他方向斜飞入、下层飞入、渐变消失、滑动删除等
        项目地址:https://github.com/nhaarman/ListViewAnimations
        Demo 地址:https://play.google.com/store/apps/details?id=com.haarman.listviewanimations
        APP 示例:Google plus、Google Now 卡片式进入、小米系统中应用商店、联系人、游戏中心、音乐、文件管理器的 ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、Car Hire、Super BART、DK FlashCards、Counter Plus、Voorlees Verhaaltjes 2.0

      13. DevsmartLib-Android
        横向 ListView
        项目地址:https://github.com/dinocore1/DevsmartLib-Android
        Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk?raw=true

      14. TwoWayView
        横向 ListView 的效果,继承自 AdapterView
        项目地址:https://github.com/lucasr/twoway-view

      15. HorizontalVariableListView
        支持 Item 宽度不一致的 ListView
        项目地址:https://github.com/sephiroth74/HorizontalVariableListView

      16. LinearListView
        用 LinearLayout 实现的 ListView,可解决多个 ListView 并存等问题。目前自己也有需要,等亲自尝试过后会再具体介绍
        项目地址:https://github.com/frankiesardo/LinearListView

      17. MultiChoiceAdapter
        支持多选的 ListView Adapter
        项目地址:https://github.com/ManuelPeinado/MultiChoiceAdapter
        Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.multichoiceadapter.demo

      18. EnhancedListView
        支持横向滑动删除列表项以及撤销删除的 ListView,该项目的前身是SwipeToDismissUndoList
        项目地址:https://github.com/timroes/EnhancedListView
        Demo 地址:https://play.google.com/store/apps/details?id=de.timroes.android.listviewdemo&rdid=de.timroes.android.listviewdemo

      19. ListBuddies
        自动滚动的双列 ListView ,两个 ListView 滚动速度不一致,有视差效果
        项目地址:https://github.com/jpardogo/ListBuddies
        Demo 地址:https://play.google.com/store/apps/details?id=com.jpardogo.android.listbuddies
        效果图:Renderings

      20. SwipeMenuListView
        针对 ListView item 的侧滑菜单
        项目地址:https://github.com/baoyongzhang/SwipeMenuListView
        效果图:
        APP 示例:手机 QQV5.0

      21. PagingListView
        分页加载的 ListView。当滑动到 ListView 底部最后一个元素时,显示一个进度行,然后加载下一页数据,并显示。
        项目地址:https://github.com/nicolasjafelle/PagingListView

      22. PullZoomView
        支持下拉时 HeaderView 缩放的 ListView、ScrollView
        项目地址:https://github.com/Frank-Zhu/PullZoomView
        效果图:

      23. PullToZoomInListView
        滑动 ListView 时使其 HeaderView 跟随滑动缩放
        项目地址:https://github.com/matrixxun/PullToZoomInListView
        效果图:

      24. CalendarListview
        实现每个月一行日历效果的 ListView
        项目地址:https://github.com/traex/CalendarListview
        原理剖析文档:CalendarListview
        效果图:

      25. sticky-headers-recyclerview
        GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ListView,采用 support-v7 中的 RecyclerView 实现
        项目地址:https://github.com/timehop/sticky-headers-recyclerview

      26. PullSeparateListView
        到达顶部或底部继续拉动时,实现 Item 间的相互分离,两种模式:(1) 全部分离的模式,即屏幕内所有 Item 都会分离 (2)部分分离模式,以点击位置为分界点,部分 item 分离
        项目地址:https://github.com/chiemy/PullSeparateListView
        效果图:

      27. ExpandableLayout
        Header 和 Content Item 都可以展开的 ExpandableListview
        项目地址:https://github.com/traex/ExpandableLayout

      28. PagedHeadListView
        支持 paginated header 以及 material page indicator 的 ListView.
        项目地址:https://github.com/JorgeCastilloPrz/PagedHeadListView
        效果图:

      29. CustomSwipeListView
        支持左滑弹出自定义菜单,右滑删除且允许撤销,同时可以自定义滑动动画时间和滑动触发事件的时机等。
        项目地址:https://github.com/xyczero/Android-CustomSwipeListView
        Demo 地址:Download here
        效果图:Renderings

      30. Pull-to-Refresh.Rentals-Android
        提供一个简单可以自定义的下拉刷新实现,Yalantis 出品。
        项目地址:https://github.com/Yalantis/Pull-to-Refresh.Rentals-Android
        效果图:Renderings

      31. ScrollerCalendar
        实现每行显示一年的 12 个月份的 RecyclerView 年历
        项目地址:https://github.com/guanchao/ScrollerCalendar
        效果图:

      32. ExtractWordView
        一个可以提取单词的 ListView,支持"放大镜"效果。
        项目地址:https://github.com/jcodeing/ExtractWordView
        Demo 地址:Download here

      33. FlyRefresh
        支持 ListView, GridView, RecyclerView, ScrollView 的下拉刷新
        项目地址:https://github.com/race604/FlyRefresh
        效果图:

      34. MVCHelper
        实现下拉刷新,滚动底部自动加载更多,分页加载,自动切换显示网络失败布局,暂无数据布局,支持任意 view,真正的 MVC 架构
        支持切换主流下拉刷新框架 Android-PullToRefresh-Library,android-Ultra-Pull-To-Refresh-library,SwipeRefreshLayout
        项目地址:https://github.com/LuckyJayce/MVCHelper
        Demo 地址:https://github.com/LuckyJayce/MVCHelper/blob/master/raw/MVCHelper_Demo.apk?raw=true

      35. RecyclerViewSwipeDismiss
        支持滑动 Item 操作、点击展开、拖动排序、展开后拖动排序等特性的 RecyclerView
        项目地址:https://play.google.com/store/apps/details?id=com.h6ah4i.android.example.advrecyclerview
        视频:http://www.youtube.com/watch?feature=player_embedded&v=S7cSwMArjUQ

      36. WaterDropListView
        模仿 iOS 下拉刷新“水滴”效果,支持下拉刷新和上拉加载
        项目地址:https://github.com/THEONE10211024/WaterDropListView
        效果图:

      37. PopupListView
        實現ListItem 點擊後置頂並可顯示客製化添加的item的內部View 的ListView
        项目地址:https://github.com/s8871404/PopupListView
        Demo 地址:https://play.google.com/store/apps/details?id=com.baobomb.popuplistview_sample
        效果图:

      38. CircleRefreshLayout
        一个包含有趣的动画的自定义下拉刷新布局
        项目地址:https://github.com/tuesda/CircleRefreshLayout
        效果图:

      39. EasyRecyclerView
        一款简单易用的EasyRecyclerView 1.提供EasyRecyclerView,不需要写太多RecyclerView的配置代码
        2.提供好一个可以适配单布局和多布局的RecyclerViewAdapter
        3.提供了分割线的实现类,只需要传入一个DrawableId
        项目地址:https://github.com/CaMnter/EasyRecyclerView

      40. CanRefresh 可适配所有视图的下拉刷新上拉加载,并支持各种风格
        项目地址:https://github.com/canyinghao/CanRefresh
        效果图:

      41. NestRefreshLayout
        下拉刷新及加载更多控件,支持多种View,可以自定义Header和Footer 由于实现了NestedScrollingChild和NestedScrollingParent所以与Support-Design兼容,可以配合CollapsingToolbarLayout使用
        项目地址:https://github.com/anzewei/NestRefreshLayout
        Demo 地址:https://github.com/anzewei/NestRefreshLayout/blob/master/ext/sample-debug.apk?raw=true

      42. SnappingSwipingRecyclerView 实现了类似微信读书首页的长按之后滑动删除的特效和动画项目地址:https://github.com/CarlLee/SnappingSwipingRecyclerView

posted @ 2023-03-20 15:11  张学涛  阅读(45)  评论(0编辑  收藏  举报