Android-开源项目-第二弹

第一部分 个性化控件(View)

主要介绍那些不错个性化的 View,包括 ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style 等等。

一、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
    Demo 地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh/blob/master/ptr-demo/target/ultra-ptr-demo.apk?raw=true
    效果图:Renderings
    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. 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

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

  6. 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
    效果图:

  7. 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

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

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

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

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

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

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

  14. 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

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

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

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

  18. 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

  19. 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/

  20. 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

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

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

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

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

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

  26. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  42. 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

  43. 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

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

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

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

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

你可能感兴趣的:(Android-开源项目-第二弹)