前言
收集了一些比較常見的開源庫,特此記錄(已收錄350+)。另外,本文將持續更新,你們有關於Android 優秀的開源庫,也能夠在下面留言。html
一 、基本控件
1.TextViewjava
- HTextView 一款支持TextView文字動畫效果的Android組件庫。
- ScrollNumber 滾動數字控件
- ticker 滾動數字控件
- ReadMoreTextView 閱讀更多,摺疊文本
- ExpandableTextView 摺疊文本
- android-autofittextview 自動調整文字大小
- html-textview 展現html標籤
- BabushkaText 自定義文本樣式
- Android-TextView-LinkBuilder 文本連接
- TextJustify-Android 自動調整文字間隔
- SlantedTextView 一個傾斜的TextView,適用於標籤效果。
- RichText Android平臺下的富文本解析器
- MixtureTextView Android圖文混排、文字環繞圖片
- VerticalTextView 垂直的Textview
- JumpingBeans 文字像 Mexican beans 同樣跳動
2.EditTextreact
- MaterialEditText 智能提醒輸入框
- android-edittext-validator 輸入效驗、提醒
- ClearEditText 帶刪除的輸入框
- PasswordEditText 顯示/隱藏密碼
- MaterialSearchView 一個基於Material design 規範的Android 搜索控件。MaterialSearchView顯示在Toolbar 或者 ActionBar 上面,併爲用戶顯示一個最近搜索或者搜索提示的列表。
3.ImageViewandroid
- CircleImageView 圓形圖片
- android-gif-drawable 展現gif
- android-shape-imageview 自定義形狀的ImageView
- android-combination-avatar 組合頭像
- PaletteImageView 懂得智能配色的ImageView,還能給本身設置多彩的陰影哦。
- PhotoView
https://github.com/chrisbanes/PhotoView 支持雙擊或雙指縮放的 ImageView
https://github.com/bm-x/PhotoView 圖片瀏覽縮放控件 - subsampling-scale-image-view 支持放大、縮小
4.Buttongit
- android-floating-action-button FloatingActionButton
- FloatingActionButton
- SwitchButton 開關按鈕
https://github.com/zcweng/SwitchButton 仿IOS切換效果 - ShineButton 點贊效果
- LikeButton 點贊效果
- RapidFloatingActionButton 展開菜單
- android-flat-button 自定義按鈕,支持圓角等
- android-process-button 帶進度條的botton
- circular-progress-button 帶完成動畫的botton
- FABProgressCircle 帶進度條的fabotton
- ProgressRoundButton 帶進度條的botton
5.Spinner程序員
- nice-spinner 美化的spinner
- MaterialSpinner
https://github.com/jaredrummler/MaterialSpinner
https://github.com/ganfra/MaterialSpinner - BetterSpinner
- SearchableSpinner 帶搜索的spinner
6.CheckBoxgithub
- SmoothCheckBox 帶動畫的checkbox
- AnimateCheckBox 帶動畫的checkbox
7.ProgressBar(包含loading動畫)sql
- SmoothProgressBar
- NumberProgressBar 帶數字的進度條
- android-square-progressbar 加載圖片的進度條
- MaterialLoadingProgressBar
- circular-music-progressbar 播放音樂進度條
- materialish-progress
- Android-RoundCornerProgressBar 圓角進度條
- GoogleProgressBar 仿谷歌的進度條
- DownloadProgressBar 帶下載動畫的進度條
- ACProgressLite 仿IOS 進度條
- Android-SVProgressHUD 仿IOS 進度條
- KProgressHUD 仿IOS 進度條
- MaterialProgressBar
- CircularProgressBar 圓環進度條
- Android-ProgressBarWidthNumber 帶進度的進度條
- LoadingView 加載進度條
- LoadingDrawable 酷炫的android加載動畫
- Android-SpinKit Android加載動畫庫
- AVLoadingIndicatorView 漂亮的加載動畫
8.Seekbarchrome
- RangeSeekBar 雙向SeekBar
- IndicatorSeekBar 帶進度的seekbar
- DragChooseView 仿微信設置字體
- FontSliderBar 仿微信設置字體
- DoubleSeekBar 帶進度的seekbar
- CircleSeekbar 一個環形Seekbar組件,支持疊加複合使用
9.RatingBar數據庫
- MaterialRatingBar 與 Google 系應用設計相同、支持拉伸、修正原生實現諸多問題的星級評分條
10.Toast
- SuperToasts 豐富樣式的 toast
- crouton
- Android-AppMsg
- UndoBar 帶按鈕的toast
- Alerter Dropdown風格的彈窗
- Toasty
- Sneaker
11.RecyclerView
- BaseRecyclerViewAdapterHelper 萬能adapter
- MultiChoiceAdapter 多選adapter
- SwipeRecyclerView 基於RecyclerView的封裝,提供了Item側滑菜單、Item滑動刪除、Item長按拖拽、添加HeaderView/FooterView、加載更多、Item點擊監聽等基本功能。
- EasyRecyclerView 封裝RecyclerView
- StickyItemDecoration 懸浮頭部
- PinnedSectionItemDecoration 懸浮頭部
- recyclerview-animators RecycleView的項目動畫的Android組件庫
- UltimateRecyclerView 能強大的Recyclerview,包括了下拉刷新,加載更多,多種動畫,空數據提示,拖動排序,視差處理,工具欄漸變,滑動刪除,自定義floating button,多種刷新效果,scrollbar等等元素,並且使用起來跟recyclerview同樣的方便。
- epoxy Epoxy採用可組合的方式來建立列表。列表中的每一個item由一個model表明,model定義了item的佈局,id以及span。model還負責處理數據到視圖的綁定,在視圖被回收的時候釋放資源。若是要顯示這些model則把它們添加到Epoxy的adapter中,adapter爲你處理複雜的顯示問題。
- XRecyclerView XRecyclerView實現了下拉刷新,滾動到底部加載更多以及添加header功能的的RecyclerView。使用方式和RecyclerView徹底一致,不須要額外的layout,不須要寫特殊的adater。 加載效果內置了AVLoadingIndicatorView上的全部效果,能夠根據須要指定。
- RecyclerViewPager RecyclerViewPager基於 RecyclerView 實現的 ViewPager,可自定義 Page 切換敏感度,支持垂直 ViewPager,支持類 Gallary 效果,支持無限循環。
- SuperRecyclerView SuperRecyclerView主要特性包括:一、當adapter沒有設置的時候使用ProgressBar(進度條);二、當adapter時空的時候使用EmptyView;三、SwipeRefreshLayout (Google's one);四、Swipe To Dismiss;五、Sticky headers;六、無限滾動,當到達最後一項時,加載更多數據;
- LRecyclerView 下拉刷新,自動加載更多;仿IOS側滑Item刪除菜單
- LayoutManagerGroup 自定義RecyclerView 的LayoutManager實現幾種炫酷的效果。
- android-advancedrecyclerview 自定義RecyclerView (2019-03-29 新增)
12.日曆、時鐘
- CalendarView 一個優雅、萬能自定義UI、支持周視圖、自定義周起始、性能高效的日曆控件
- material-calendarview
- Caldroid
- android-times-square
- Android-Week-View 周視圖
- android-calendar-view 顯示陽曆,農曆,節假日和二十四節氣 實現對某月日期的單選或者多選的andorid 日曆控件庫
- Simple-Calendar
- CountdownView 倒計時
- android-calendar-card 日曆
- CosmoCalendar 高度自定義的日曆庫,UI精美,支持多種模式。
- CalendarExaple 高仿釘釘和小米的日曆控件,支持快速滑動,界面緩存
13.Webview
- AgentWeb
- VasSonic 首屏加載速度快
- JsBridge
- chromeview 利用 Chromium 實現的 WebView
14.ScrollView
- Android-ObservableScrollView
- DiscreteScrollView 基於RecyclerView 實現的一個橫向滑動列表
15.ViewPager
- VerticalViewPager 垂直的viewpager
- InfiniteCycleViewPager 3D的viewpager
- ExpandingPager
- RecyclerViewSnap
- AndroidImageSlider
- ViewPagerIndicator
- RecyclerViewCardGallery RecyclerView實現Card Gallery效果,替代ViewPager方案
- JazzyViewPager 支持 Fragment 切換動畫的 ViewPager,動畫包括轉盤、淡入淡出、翻頁、層疊、旋轉、方塊、翻轉、放大縮小等
- FlipViewPager.Draco Flip 翻轉效果的 ViewPager
- UltraViewPager 封裝多種特性的ViewPager,主要是爲多頁面切換場景提供統一解決方案。
- MaterialViewPager Material風格的viewpager
- WoWoViewPager 結合viewpager和動畫,實現了一個漂亮的歡迎頁
- ViewPagerCards
- ViewpagerTransition
16.WheelPicker
- Android-PickerView iOS的PickerView控件,有時間選擇和選項選擇,並支持一二三級聯動,支持自定義樣式。
- androidWheelView
- WheelPicker
- AndroidPicker
- HorizontalWheelView 水平的wheelview
- WheelView-Android 帶刻度的wheelview
17.導航欄
- BottomBar 一個Material Design風格的底部導航的Android視圖組件
- NavigationTabBar 一個具備豐富的動畫效果的Android導航Tab工具欄組件。
- ahbottomnavigation material風格的底部導航
- Material-BottomNavigation
- SmartTabLayout 自定義的viewpager標題欄,在滾動時向用戶提供連續反饋
- material-menu 帶動畫的導航欄
2、功能相關
1.圖片選擇
- MultiImageSelector 仿微信實現多圖選擇
- GalleryFinal 拍照、圖片選擇(單選/多選)、 裁剪(單/多裁剪)、旋轉、ImageLoader無綁定任由開發者選擇、功能可配置、主題樣式可配置
- RxGalleryFinal
- Matisse 圖片選擇
- {中止維護} ImagePicker 圖片選擇
- TakePhoto 拍照或從相冊、文件中選擇、裁剪圖片、壓縮圖片的開源工具庫
- PictureSelector 圖片選擇
- ImageEditor-Android 圖片編輯
- boxing 基於MVP模式的Android多媒體選擇器
- cropper 圖片裁剪
- uCrop Yalantis 出品的強大的圖片裁剪庫 ,支持縮放,旋轉圖片,支持各類比例的裁剪框
- android-crop 圖片裁剪
- cropiwa 圖片裁剪
- SmartCropper 智能圖片裁剪框架。自動識別邊框,手動調節選區,使用透視變換裁剪並矯正選區;適用於身份證,名片,文檔等照片的裁剪。
- Android-Image-Cropper 圖片裁剪
- android-gpuimage 圖片濾鏡框架
- Blurry 圖片模糊
- Horizon 簡單的Android視覺均衡器
- GestureViews 大圖預覽
2.圖片加載
- glide
- glide-transformations 基於glide 的圖片變化庫
- fresco
- picasso
- LargeImage 加載大圖 能夠高清顯示10000*10000像素的圖片,輕鬆實現微博長圖功能
3.音視頻
- ExoPlayer 谷歌出品的視頻播放器
- JiaoZiVideoPlayer 餃子視頻播放器
- ijkplayer ijk 播放器
- GSYVideoPlayer
- VitamioBundle 多媒體播放器
- VideoPlayerManager 幫助實現VideoPlayer控制,使得它更容易使用ListView和recyclerview。
- PlayerBase 專一於播放視圖組件的高複用性和組件間的低耦合,輕鬆處理複雜業務。
- DanmakuFlameMaster 彈幕
- AndroidVideoCache 視頻緩存
- TicktockMusic 一款 material design 風格的音樂播放器,能夠播放本地和網絡音樂,而且提供歌詞顯示。
- Timber 一個完整的音樂播放器
- NiceVieoPlayer 支持列表,完美切換全屏、小窗口的Android視頻播放器(2019-03-27 新增)
4.刷新控件
- SmartRefreshLayout Android智能下拉刷新框架
- android-Ultra-Pull-To-Refresh
- Android-PullToRefresh
- SpringView
- Phoenix
5.動畫
- Material-Animations
- Loop3DRotation 3D旋轉動畫
- lottie-android 加載ae作的動畫
- AndroidViewAnimations 動畫合集
- ParticleTextView 粒子動畫
- ExpectAnim 一個漂亮的動畫效果
- android-pathview 路徑動畫
- ViewAnimator 動畫合集
- TextSurface 炫酷的文字展現動畫
- CircularAnim 水波紋動畫
- AndroidCarrouselLayout 3D旋轉動畫(2019-03-27 新增)
6.輪播圖
- banner
- BGABanner-Android
- Android-ConvenientBanner
- MZBannerView 仿魅族BannerView,圖片輪播控件,支持多種模式切換
- RecyclerBanner
7.權限
- PermissionsDispatcher
- RxPermissions
- easypermissions
- Dexter
- AndPermission
- PermissionHelper
- PermissionGen
- HiPermission
- TedPermission
- permissions4m 國產手機5.0、6.0權限適配框架
8.二維碼
- zxing
- BGAQRCode-Android 掃描二維碼、掃描條形碼、
- QrCodeScan 二維碼掃描
- android-zxingLibrary 幾行代碼快速集成二維碼掃描功能
9.新手引導
- NewbieGuide Android 快速實現新手引導層的庫,經過簡潔鏈式調用,一行代碼實現引導層的顯示
- GuideView 可以快速爲任何一個View建立一個遮罩層,支持單個頁面,多個引導提示,支持爲高亮區域設置不一樣的圖形,支持引導動畫,方便擴展,良好支持fragment
10.數據庫
- greenDAO
- ActiveAndroid Android Sqlite orm 的 db 工具類
- realm-java 移動端的數據庫,適用於 Phone、Tablet、Wearable,支持 ORM,線程安全、支持連表及數據庫加密,比 SQLite 性能更好
- DBFlow Android SQLite ORM 工具庫。綜合了 Active Android, Schematic, Ollie,Sprinkles 等庫的優勢;經過註解實現,性能好;能生成 ContentProvider。
- SnappyDB key-value數據庫,很是流行的NoSQL數據庫
- LitePal 不編寫SQL語句的狀況下完成大多數數據庫操做,包括建立或升級表、CRUD操做、聚合函數等
- objectbox-java ObjectBox是一個超高速的面向對象的數據庫,具備很強的關係支持。ObjectBox嵌入到Android、Linux、MacOS或Windows應用程序中。
- wcdb 一個高效、完整、易用的移動數據庫框架,基於(https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2Fsqlcipher%2Fsqlcipher)[SQLCipher],支持iOS, macOS和Android。
- Android-Debug-Database 數據庫調試工具
11.圖表
- MPAndroidChart
- XCL-Charts
- hellocharts-android
- DashboardView 儀表盤
- FinancialCustomerView 金融類的自定義View
- WilliamChart 雙向圖表
- EazeGraph
- android-DecoView-charting
- GraphView 繪製圖表和曲線圖的 View,可用於 Android 上的曲形圖、柱狀圖、波浪圖展現
- PieChartView 餅狀圖
- SpeedView Android的動態車速表
- KalmanRx kalman 濾波(2019-03-29 新增)
- ikvStockChart K線圖 (2019-03-29 新增)
12.菜單
- BoomMenu 爆炸菜單效果
- Side-Menu.Android 側滑菜單
- Context-Menu.Android 能夠方便快速集成漂亮帶有動畫效果的上下文菜單
- FlowingDrawer 帶手勢的側滑菜單
- SlidingMenu 側滑菜單
- android-menudrawer 滑出式菜單,經過拖動屏幕邊緣滑出菜單,支持屏幕上下左右劃出,支持當前 View 處於上下層,支持 Windows 邊緣、ListView 邊緣、ViewPager 變化劃出菜單等。
- AndroidResideMenu 仿 Dribbble 的邊欄菜單
- MaterialDrawer Material Design 風格的導航抽屜,提供簡便且強大的定製功能
- bottomsheet 底部菜單(2019-03-27 新增)
13.手勢關閉
14.事件處理
15.換膚
- QSkinLoader
- Android-Skin-Loader 支持多種場景的Android換膚框架
- MultipleTheme 夜間模式的Android框架
- Colorful 基於Theme的Android動態換膚庫,無需重啓Activity、無需自定義View,方便的實現日間、夜間模式。
Colorful(kotlin) v2已在Kotlin中進行了完全重寫,使其更輕,更快,功能更豐富 - MaterialDesignDemo
- Android-skin-support
16.狀態欄
17.顏色選擇器
18.佈局相關
- flexbox-layout 柔性佈局
- overscroll-decor 仿IOS回彈效果
- ChipsLayoutManager TAG 佈局
- vlayout VirtualLayout是一個針對RecyclerView的LayoutManager擴展, 主要提供一整套佈局方案和佈局間的組件複用的問題。
- 弧形佈局
https://github.com/ogaclejapan/ArcLayout
https://github.com/florent37/ArcLayout - FlowLayout Android流式佈局,支持單選、多選等,適合用於產品標籤等。
https://github.com/hongyangAndroid/FlowLayout
https://github.com/nex3z/FlowLayout - MaterialDesignLibrary 包含android l組件的庫,供您在低版本中使用。
- material 包含android l組件的庫,供您在低版本中使用。
- QMUI_Android 快速搭建一個具有基本設計還原效果的 Android 項目
- Android-Bootstrap Android 上的bootstrap 效果
- ScalingLayout 縮放佈局
- android-ConstraintLayoutExamples ConstraintLayout 佈局的官方demo (2019-03-27 新增)
- ViewSpreadTranslationController 視圖擴散切換控制器(2019-03-27 新增)
19.屏幕適配
- AndroidAutoSize 今日頭條屏幕適配方案終極版
20.其餘
- AndroidPdfViewer pdf 加載
- android-job 用於後臺運行延遲的做業
3、網絡相關
1.http
- retrofit
- okhttp
- okhttp-OkGo 封裝了 OkHttp 的網絡請求框架
- {中止維護} okhttputils okhttp的輔助類
- NoHttp 實現Http標準協議框架,支持多種緩存模式,底層可動態切換OkHttp、URLConnection。
- xUtils3 xUtils 包含了orm, http(s), image, view註解
- afinal Afinal是一個android的ioc,orm框架,內置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp
- Fast-Android-Networking 支持http2的網絡庫(2019-03-29 新增)
2.json
3.下載、上傳
- MultiThreadDownloader 多線程下載
- android-upload-service 文件上傳
- Aria 下載
- FileDownloader 文件下載引擎,穩定、高效、靈活、簡單易用
rx
- RxAndroid 對RxJava在Android上的擴展,使得Android上也很容易實現reactive components,簡化線程操做,從而寫出很漂亮的代碼。
- RxJava
- RxCache 專門爲Retrifit打造的緩存庫
- ReactiveNetwork 檢測網絡狀態
- RxLifecycle 管理rx的生命週期
- AutoDispose rx 工具類
4.4、自定義View
蛛網圖
5.翻書效果
- android-PageFlip
- android-flip 相似 Flipboard 翻轉動畫
6.圖案解鎖
7.望遠鏡效果(部分高亮)
- ShowcaseView
- Spotlight
https://github.com/TakuSemba/Spotlight
https://github.com/29jitender/Spotlight
8.其餘
- SeatTable 電影選座效果
- [FlightSeat) 飛機票選座效果
- GoodView 點贊效果
- Android-PullLayout 仿uc下拉效果
- AlphaIndicatorView 仿微信底部TAB 滑動效果
- RadarView
https://github.com/donkingliang/RadarView 高仿360檢測評分動畫
https://github.com/jeanboydev/Android-RadarView 雷達圖,相似支付寶芝麻分解讀,王者榮耀對戰資料圖。 - CardStackView
https://github.com/yuyakaido/CardStackView 三種炫酷的列表卡片滑動動畫
https://github.com/loopeer/CardStackView 卡片疊加壓棧效果 - TapTargetView Google針對特徵發現的材料設計指南中的點擊目標的實現。
- CoordinatorTabLayout 可快速實現TabLayout與CoordinatorLayout相結合的樣式
- ShimmerLayout 掃光效果
- PhotoMovie 仿抖音照片電影
- MyCardView 一個支持自定義陰影顏色的 CardView
4、其餘
1.工具類
- AndroidUtilCode 強大易用的安卓工具類庫
- RxTool Android開發人員不得不收集的工具類集合
- butterknife 利用 annotation 幫你快速完成 View 的初始化,減小代碼
2.熱修復
- tinker 它支持dex、庫和資源更新,無需從新安裝apk
- Nuwa
- AndFix 阿里的方案
- VirtualXposed
3.插件化
- RePlugin RePlugin是一套完整的、穩定的、適合全面使用的,佔坑類插件化方案,由360手機衛士的RePlugin Team研發,也是業內首個提出」全面插件化「(全面特性、全面兼容、全面使用)的方案。(2019-03-27 新增)
4.簽名打包
- walle Android Signature V2 Scheme簽名下的新一代渠道包打包神器
- packer-ng-plugin 100個渠道包只須要10秒鐘
5.反編譯
- Apktool 反編譯工具
6.依賴注入
- dagger 依賴注入,適用於 Android 和 Java
7.日誌
8.路由
- ARouter 幫助 Android App 進行組件化改造的路由框架
9.內存泄漏檢測
10.佈局優化
- X2C 在編譯生成APK期間,將須要翻譯的layout翻譯生成對應的java文件,這樣對於開發人員來講寫佈局仍是寫原來的xml,但對於程序來講,運行時加載的是對應的java文件。
11.畫圖
12.圖片壓縮
- Luban Android圖片壓縮工具
- Compressor
- CompressHelper
13.攝像頭
- cameraview 輕鬆集成camera
- CameraView 模仿微信拍照的Android開源控件
- camerakit-android
14.富文本編輯器
- richeditor-android
- Android-Rich-text-Editor
- Knife
- MRichEditor
- XRichText
- RichText 富文本解析器,支持Html和Markdown
15.指示器
- MagicIndicator 強大、可定製、易擴展的 ViewPager 指示器框架。
- dotsindicator 視圖頁導航點指示器(2019-03-27 新增)
16.自定義字體加載
17.文件加密
18.表情包
19.相機濾鏡
20.車牌識別
21.鍵盤衝突
22.藍牙
- Android-BLE AndroidBLE藍牙框架,包括掃描、鏈接、設置通知、發送數據、讀取、接收數據和OTA升級以及各類直觀的回調,近乎一行代碼植入項目,可擴展配置藍牙相關操做。
- Android-BluetoothKit 用於Android藍牙BLE設備通訊,支持設備掃描,鏈接,讀寫,通知。
23.測試
-
matrix 經過各類性能監控方案,對性能監控項的異常數據進行採集和分析,輸出相應的問題分析、定位與優化建議,從而幫助開發者開發出更高質量的應用。
-
pandora 一款無需ROOT、能夠直接在應用內查看和修改包括網絡、數據庫、UI等的工具箱,適合開發和測試階段的各類問題的快速定位。
-
ArgusAPM ArgusAPM是360移動端產品使用的可視化性能監控平臺,爲移動端APP提供性能監控與管理,能夠迅速發現和定位各種APP性能和使用問題,幫助APP不斷的提高用戶體驗。(2019-03-27 新增)
-
AndroidPerformanceMonitor 非侵入式的性能監控組件
-
UETool 一個各方人員(設計師、程序員、測試)均可以使用的調試工具。它能夠做用於任何顯示在屏幕上的 view,好比 Activity/Fragment/Dialog/PopupWindow 等等。
-
robolectric 單元測試
24.其餘 -
WeChatLuckyMoney 微信搶紅包插件
-
BookReader 完整的小說閱讀器
-
CloudReader 小說閱讀器
-
smartTable 自動生成表格框架
-
k-9 郵箱
最後
若是你看到了這裏,以爲文章寫得不錯就給個讚唄!歡迎你們評論討論!若是你以爲那裏值得改進的,請給我留言。必定會認真查詢,修正不足,按期免費分享技術乾貨。感興趣的小夥伴能夠點一下關注哦。謝謝!