天天看點

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開機的圖案密碼解鎖,支付寶的密碼解鎖