天天看点

android git上开源的项目收藏

本文为那些不错的android开源项目第一篇——个性化控件(view)篇,主要介绍android上那些不错个性化的view,包括listview、actionbar、menu、viewpager、gallery、gridview、imageview、progressbar及其他如dialog、toast、edittext、tableview、activity

animation等等。

android开源项目系列汇总已完成,包括:

<a target="_blank" href="http://www.trinea.cn/android/android-open-source-projects-view/">android开源项目第一篇——个性化控件(view)篇</a>

<a target="_blank" href="http://www.trinea.cn/android/android-open-source-projects-dev-lib/">android开源项目第二篇——工具库篇</a>

<a target="_blank" href="http://www.trinea.cn/android/android-open-source-projects-excellent-project/">android开源项目第三篇——优秀项目篇</a>

<a target="_blank" href="http://www.trinea.cn/android/android-open-source-projects-dev-tool/">android开源项目第四篇——开发及测试工具篇</a>

<a target="_blank" href="http://www.trinea.cn/android/android-open-source-projects-excellent-personal-group/">android开源项目第五篇——优秀个人和团体篇</a>

本文中你可以找到那些精美app中各种有特性的view,如gmail的左滑出菜单、google plus的卡片式listview,pinterest的瀑布流,微信的左滑删除,微博的个页面下拉刷新等等。长期更新,欢迎大家补充和推荐^_^

一、listview

1. android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新

listview、viewpager、wevview、expandablelistview、gridview、(horizontal

)scrollview、fragment上下左右拉动刷新,比下面johannilsson那个只支持listview的强大的多。并且他实现的下拉刷新listview在item不足一屏情况下也不会显示刷新提示,体验更好。

app示例:新浪微博各个页面

2. android-pulltorefresh-listview 下拉刷新listview

ps:这个被很多人使用的项目实际有不少bug,推荐使用上面的android-pulltorefresh

3. dropdownlistview 下拉刷新及滑动到底部加载更多listview

4. dragsortlistview 拖动排序的listview

同时支持listview滑动item删除,各个item高度不一、单选、复选、cursoradapter做为适配器、拖动背景变化等

app示例:wordpress android

5. swipelistview 支持定义listview左右滑动事件,支持左右滑动位移,支持定义动画时间

app示例:微信

6. android-swipetodismiss 滑动item消失listview

7. stickylistheaders groupname滑动到顶端时会固定不动直到另外一个groupname到达顶端的expandlistview,支持快速滑动,支持android2.3及以上

app示例:android 4.0联系人

8. pinned-section-listview groupname滑动到顶端时会固定不动直到另外一个groupname到达顶端的expandlistview

9. pinnedheaderlistview groupname滑动到顶端时会固定不动直到另外一个groupname到达顶端的expandlistview

10. quickreturnheader listview/scrollview的header或footer,当向下滚动时消失,向上滚动时出现

app示例:google plus

 11. indexablelistview listview右侧会显示item首字母快捷索引,点击可快速滑动到某个item

app示例:微信通讯录、小米联系人

12. customfastscrollview listview快速滑动,同时屏幕中间popupwindows显示滑动到的item内容或首字母

13. android-scrollbarpanel listview滑动时固定的panel指示显示在scrollbar旁边

14. slideexpandablelistview 用户点击listview item滑出固定区域,其他item的区域收缩

15. jazzylistview listview及gridview item以特殊动画效果进入屏幕,效果包括grow、cards、curl、wave、flip、fly等等

16. listviewanimations 带item显示动画的listview,动画包括底部飞入、其他方向斜飞入、下层飞入、渐变消失、滑动删除等

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

17. devsmartlib-android 横向listview

二、actionbar

1. actionbarsherlock 为android所有版本提供统一的actionbar,解决4.0以下actionbar的适配问题

app示例:太多了。。现在连google都在用

2. actionbar-pulltorefresh 下拉刷新,actionbar出现加载中提示

app示例:gmail,google plus,知乎等

3. fadingactionbar listview向下滚动逐渐显现的actionbar

app示例:google music,知乎

4. notboringactionbar google music下拉收缩的actionbar

app示例:google音乐

5. refreshactionitem 带进度显示和刷新按钮的actionbar

app示例:the new york times,devappsdirect.

6. glassactionbar 类似玻璃的有一定透明度的actionbar

app示例:google music

三、menu 

1. menudrawer 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前view处于上下层,支持windows边缘、listview边缘、viewpager变化划出菜单等。

app示例:gmail、google music等大部分google app

2. slidingmenu 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单zoom、scale、slide up三种动画样式出现。

app示例:foursquare, linkedin, zappos, rdio, evernote food, plume, vlc for android, espn scorecenter, mls matchday, 9gag, wunderlist 2, the verge, mtg familiar, mantano reader, falcon pro (beta), mw3 barracks

menudrawer和slidingmenu比较:slidingmenu支持菜单动画样式出现,menudrawer支持菜单view处于内容的上下层

3. arcmenu 支持类似path的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单

app示例:path

<a target="_blank" href="https://dl.dropboxusercontent.com/u/11369687/preview1.png">https://dl.dropboxusercontent.com/u/11369687/preview1.png</a>

<a target="_blank" href="https://dl.dropboxusercontent.com/u/11369687/raymenu.png">https://dl.dropboxusercontent.com/u/11369687/raymenu.png</a>

4. android-satellite-menu 类似path的左下角动画旋转菜单

5. radial-menu-widget 圆形菜单,支持二级菜单

6. android wheel menu 圆形旋转选取菜单

7. foldingnavigationdrawer滑动并以折叠方式打开菜单

四、viewpager 、gallery

1. android-viewpagerindicator 配合viewpager使用的indicator,支持各种位置和样式

app示例:太多了。。

2. jazzyviewpager 支持fragment切换动画的viewpager,动画包括转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等

效果图:类似桌面左右切换的各种效果,不过桌面并非用viewpager实现而已

3. android-directionalviewpager 支持横向和纵向(垂直)的viewpager

4. android-pulltorefresh 支持下拉刷新的viewpager

5. fancycoverflow支持item切换动画效果的类似gallery view

6. androidtouchgallery 支持双击或双指缩放的gallery(用viewpager实现)

相比下面的photoview,在被放大后依然能滑到下一个item,并且支持直接从url和文件中获取图片,

app示例:类似微信中查看聊天记录图片时可双击放大,并且放大情况下能正常左右滑动到前后图片

7. salvage view 带view缓存的viewpager pageradapter,很方便使用

五、gridview

1. staggeredgridview 允许非对齐行的gridview

类似pinterest的瀑布流,并且跟listview一样自带view缓存,继承自viewgroup

app示例:pinterest等

2. androidstaggeredgrid 允许非对齐行的gridview

类似pinterest的瀑布流,继承自abslistview

3. pinterestlikeadapterview 允许非对齐行的gridview

类似pinterest的瀑布流,允许下拉刷新

4. draggablegridview item可拖动交换位置的gridview,类似桌面的单屏效果

六、imageview

1. photoview 支持双击或双指缩放的imageview

在viewpager等scrolling view中正常使用,相比上面的androidtouchgallery,不仅支持viewpager,同时支持单个imageview

2. android-gif-drawable 支持fig显示的view

用jni实现的,编译生成so库后直接xml定义view即可,而且本身不依赖于其他开源项目,所以相对下面的imageviewex简单的多

3. imageviewex 支持gif显示的imageview

依赖很多,编译过程很繁琐!|_|!

4. roundedimageview 带圆角的imageview

七、progressbar

1. smoothprogressbar 水平进度条

2. progresswheel 支持进度显示的圆形progressbar

3. android-square-progressbar 在图片周围显示进度

app示例:square

4. holocircularprogressbar android4.1 时钟app样式

app示例:android4.1时钟app

八、其他

1. achartengine 强大的图标绘制工具

支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合

<a target="_blank" href="http://www.achartengine.org/dimages/sales_line_and_area_chart.png">http://www.achartengine.org/dimages/sales_line_and_area_chart.png</a>

<a target="_blank" href="http://www.achartengine.org/dimages/temperature_range_chart.png">http://www.achartengine.org/dimages/temperature_range_chart.png</a>

<a target="_blank" href="http://www.achartengine.org/dimages/combined_chart.png">http://www.achartengine.org/dimages/combined_chart.png</a>

<a target="_blank" href="http://www.achartengine.org/dimages/budget_chart.png">http://www.achartengine.org/dimages/budget_chart.png</a>

app示例:wordpress android,google analytics

2. graphview 绘制图表和曲线图的view

可用于android上的曲形图、柱状图、波浪图展示

3. android-flip 类似flipboard翻转动画的实现

4. flipimageview 支持x、y、z及动画选择的翻转动画的实现

5. swipebacklayout 左右或向上滑动返回的activity

app示例:知乎

6. cards-ui 卡片式view,支持单个卡片,item为卡片的listview

7. cardslib 卡片式view,支持单个卡片,item为卡片的listview和gridview

8. android-styled-dialogs 可自定义样式的dialog

默认与holo主题样式一致,在android2.2以上同一样式

9. crouton 丰富样式的toast

允许alert、comfirm、info样式及点击消失样式,允许设置toast显示时间,允许自定义view。

10. supertooltips 带动画效果的tips显示

11. android viewbadger为其他view添加角标等

12. android sliding up panel 可拖动的view,能在当前activity上扶起一个可拖动的panel

app示例:google music精简播放栏

13. android-times-square android日历部件

支持选取单个日期,多个日期,及日期区间段和对话框形式显示

14. android-calendar-card 日历

15. colorpickerview 颜色选择器,支持popupwindows或新的activity中打开

16. holocolorpicker 颜色选择器

17. androidwheel android wheel支持城市、多种日期时间、密码、图片

18. android-flowtextview文字自动环绕其他view的layout

19. segmented radio buttons for android ios’s segmented controls的实现

20. tablefixheaders 第一列固定的table

21. android form edittext 验证输入合法性的编辑框

支持输入、英文、ip、url等多种正则验证

22. uitableview ios风格控件

包括button、listview、tableview

23. atableview ios风格控件

24. undobar屏幕底部显示取消或是确认的popupwindows

25. inscription可用于展示应用change和new feature信息

26. activitytransition activity切换动画,包括渐变、flip、某个位置进入等等

27. cropper 图片局部剪切工具,可触摸控制选择区域或旋转

28. glowpadbackport将android4.2的锁屏界面解锁扩展到android1.6及1.6+

29. glowpadview android4锁屏界面解锁

30. android-lockpattern android的图案密码解锁

示例app:android开机的图案密码解锁,支付宝的密码解锁