Android常用優秀開源框架(一)
前言
AOSF:全稱爲Android Open Source Framework,即Android優秀開源框架彙總。包含:網絡請求okhttp,圖片下載glide,數據庫greenDAO,鏈式框架RxJava,組件路由ARouter,消息傳遞通信EventBus,熱更新Tinker,插件化框架Replugin,文件下載FileDownloaer,圖片選擇PhotoPicker,圖片濾鏡/毛玻璃等特效處理,GIF圖片展示控件,圖片九宮格控件NineGridView,對話框Dialog,導航指示器ViewpagerIndicator,進度條ProgressWheel,下拉刷新SmartRefreshLayout等,應有盡有。
說明:大家有好的開源框架,熱烈歡迎大家提Issue或Pull requests進行補充和完善,我們一起把優秀的框架彙集起來,爲自己和他人的開發提供便利,提高效率,避免重複造輪子或耗費查找時間,謝謝🙏
1.網絡請求框架
okhttp
OkGo
2.圖片下載框架
glide
picasso
glide和picasso的對比:
加載一般圖片 加載gif 圖片質量細節 方法數 緩存
glide OK OK且顯示動圖 有鋸齒 2678 根據ImageView尺寸,爲不同尺寸緩存圖片
picasso OK OK,但顯示靜圖 無鋸齒 480 不管ImageView尺寸,緩存整張圖片
3.輕量級數據庫
greenDAO
realm-java
4.沉浸式狀態欄
StatusBarUtil
這是一個爲Android App 設置狀態欄的工具類, 可以在4.4及其以上系統中實現 沉浸式狀態欄/狀態欄變色,支持設置狀態欄透明度。
5.異步鏈式框架
RxJava
RxAndroid
agera
6.組件/模塊路由,通信框架
ARouter
組件/模塊路由框架,阿里巴巴出品。
EventBus
基於發佈-訂閱模式的事件總線。
7.插件化框架
RePlugin
atlas
dynamic-load-apk
Small
8.熱修復框架
tinker
9.註解
dagger2
butterknife
androidannotations
10.JSON解析
gson
fastjson
11.工具類
AndroidUtilCode
android-common
包含:緩存、公共view、常用工具等。
android-common
包含:異步、log、輔助、數據處理、廣播接收器、通用服務等工具。
Lazy
包含:常用工具類。
12.掃碼庫
zxing
13.適配器
BaseRecyclerViewAdapterHelper
14.檢測內存泄露
leakcanary
15.具有頭部的ViewPager
HeaderViewPager
16.導航指示器
ViewPagerIndicator
ViewPagerIndicator2
17.進度條
ProgressWheel
MaterialProgressBar
Material Design風格的ProgressBar,支持多種效果。
Android-ProgressBarWidthNumber
Android-RoundCornerProgressBar
LoadingDrawable
各式各樣創意、風格奇特的進度條。
CircularProgressBar
NumberProgressBar
18.下拉刷新、上拉加載更多
XRecyclerView
PullRefreshAndLoadMore
SmartRefreshLayout
下拉刷新、上拉加載、二級刷新、淘寶二樓、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回彈、越界拖動,具有極強的擴展性,集成了幾十種炫酷的Header和 Footer。
19.圖表
Android-Charts
MPAndroidChart
XCL-Charts
支持數十種圖表,總有一個適合你。
hellocharts-android
功能強大、支持各式各樣的圖表控件。
20.文件下載引擎
FileDownloader
21.文件選擇器
Android-FilePicker
22.圖片選擇器
Matisse
PhotoPicker
仿微信的圖片選擇器。
ImagePicker
23.圖片九宮格控件
NineGridView
24.圖片展示控件
PhotoView
圖片預覽、縮放
CircleImageView
RoundedImageView
android-shape-imageview
將圖片按照自定義的形狀顯示。
TextDrawable
以Drawable的形式顯示字符,類似平時見到的“字符”頭像。
25圖片裁剪
uCrop
26.顯示GIF圖片的控件
android-gif-drawable
27.圖片壓縮
Luban
28.圖片濾鏡庫
android-gpuimage
glide-transformations
29.圖片毛玻璃、模糊處理庫
android-stackblur
Blurry
blurkit-android
ImageBlurring
30.視頻播放器
JiaoZiVideoPlayer
GSYVideoPlayer
ijkplayer
jjdxm_ijkplayer
31.下拉框
nice-spinner
32.自定義Button控件
android-flat-button
Android-Bootstrap
circular-progress-button
android-process-button
33.自定義Switch(開關)控件
SwitchButton
JellyToggleButton
34.自定義編輯框(類EditText)控件
MaterialEditText
TagsEditText
CloudEditText
AndroidEdit
爲EditText提供撤銷、反撤銷的功能。
android-edittext-validator
帶錯誤校驗和提示的EditText。
35.自定義文本控件(類TextView)
ExpandableTextView
可摺疊的TextView,類似朋友圈查看全文。
android-autofittextview
自適應的TextView,在寬高固定的情況下,文字越多,字體越小。
emojicon
支持emoji表情的TextView。
HTextView
支持很多文本特效的TextView。
36.動畫
AndroidViewAnimations
各種動畫
recyclerview-animators
lottie-android
展示 AE 工具所作動畫的框架。
ExplosionField
爆炸動畫效果。
Grav
粒子動畫效果。
37.觸摸滑動控件
AndroidSwipeLayout
非常實用的觸摸滑動控件
38.拖動條(類SeekBar)控件
discreteSeekBar
拖拽時可顯示氣泡提示的SeekBar。
material-range-bar
Material Design風格的、支持區間選取的SeekBar。
39.RatingBar評分控件
MaterialRatingBar
40.拖拽、排序控件
ItemTouchHelperDemo
41.對話框(Dialog、BottomSheet等)控件
material-dialogs
可定製化的 Dialog API。
FlycoDialog_Master
一套強大的Dialog集合,提供了類似BottomSheet的效果。
42.日曆、時間選擇控件
BottomSheetPickers
非常不錯的日曆、時間選擇控件。
SublimePicker
清爽、漂亮的日曆。
MaterialDateTimePicker
Material Design風格的日曆、時間選擇器。
CalendarListview
基於ListView,效果類似原生Android的日曆。
43.分類選擇的控件
DropDownMenu
實用的多條件篩選菜單。
44.角標、徽章
SlantedTextView
用TextView實現的標籤效果。
ShortcutBadger
用來生成帶有角標的圖標。
45.富文本編輯控件
richeditor-android
功能強大的富文本編輯器。
Knife
輕量級的富文本編輯器。
46.標籤組控件
ChipsLayoutManager
FlowLayout
支持單選、多選。
47.App新手引導、高亮
Highlight
一個引導高亮的庫
HighLightGuideView
48.固定header、索引的控件
StickyListHeaders
pinned-section-listview
49.炫酷菜單控件
android-floating-action-button
大名鼎鼎的fab。
FilterMenu
一個轉盤式菜單。
FlyoutMenus
一個很酷的彈出菜單。
ArcLayout
弧形菜單,支持多種效果。
50.廣告輪播、垂直公告的控件
Android-ConvenientBanner
基於ViewPager的廣告輪播控件,支持循環滾動。
FlycoBanner_Master
又一個廣告輪播控件。
MarqueeView
基於ViewFlipper的垂直公告控件。俗名:可垂直跑、可水平跑的跑馬燈;學名:可垂直翻、可水平翻的翻頁公告。
51.滑動返回(類SwipeBack)控件
SwipeBackLayout
SwipeBackFragment
and_swipeback
52.水平滑動的RecyclerView控件
RecyclerViewSnap
53.側滑菜單控件
MaterialDrawer
側滑菜單。
SwipeBackLayout
類似QQ側滑菜單。
DragLayout
使用support.v4包下的ViewDragHelper實現QQ5.0側滑。
54.水波紋效果
RippleEffect
55.自定義字體庫
Calligraphy
56.KV數據存儲框架
MMKV
這是整理的Android優秀開源框架的第一篇章,後續會繼續整理,大家有其他好的框架推薦,請留言。如果你覺的這篇文章對你有幫助,歡迎收藏並轉發給身邊的朋友,謝謝。