經常用到的Android UI、開源專案及庫
阿新 • • 發佈:2019-02-13
README.md
TimLiu-Android
目錄
具體內容 =============================
UI
- Awesome-MaterialDesign - MaterialDesignCenter改名為Awesome-MaterialDesign,優化了佈局,新增了不少庫。
- ChipsLibrary - 在Android EditText中實現打Tag功能。
- ObservableScrollView - 在滾動的檢視觀測滾動事件的Android庫 它易於與在Android 5.0 Lollipop中引入的工具條Toolbar相互動,並能夠幫助實現Material Design apps的外觀。
- iconify - iconify 圖片與文字同一行顯示。
- iosched - The Google I/O 2014 Android App,Android 5.0 and Material Design。
- fab - Floating Action Button library for Android。
- labelview - 貼紙效果,如:淘寶商品側貼折扣。
- 快速支援emoji表情顯示 - 讓專案快速支援emojicon表情的顯示,並可判斷使用者輸入的內容中是否含有emojicon表情以及過濾掉emojicon。
- Titanic - 可以顯示水位上升下降的TextView。
- android-typeface-helper
- ToggleButton - 狀態切換的 Button,類似 iOS,用 View 實現。
- android-typeface-helper - Android Typeface Helper 可以幫你輕鬆實現自定義字型的庫。
- Toolbar - Toolbar替換Android Toolbar,說明。
- PagerSlidingTabStrip - 一個支援Material Design的PagerSlidingTabStrip。
- MaterialViewPager - 一個易於使用的 Material Design ViewPager 庫。
- APP啟動引導頁 - APP應用中最常用的APP啟動引導頁,常見的4種引導專案方式:splash,viewpage,viewflipper,scrollview。
- GuideHelper - 實現Android新手引導頁,可以在提示也繪製實際的view,在view的上下左右位置新增提示資訊的圖片。
- AwesomeText - 簡化TextViews中Spans使用的庫。
- dialogplus - 一個簡單容易使用的對話方塊——DialogPlus。
- material-dialogs - Material Design風格Dialogs。
- FilterMenu - 這是一個自定義的圓形選單,效果非常酷。
- GridPasswordView - 類似微信,支付寶支付時候的輸入密碼頁面效果,帶格子的密碼輸入框。
- BlurLockView - 毛玻璃效果的密碼解鎖介面, 支援簡單定製。
- PersistentSearch - 模仿Google Now, Google Maps Google Play的SearchBar,下拉列表匹配、錄音。
- Droppy - Android 下簡潔好看的 Dropdown 選單。
- UltimateRecyclerView - 這是一個終極的 RecyclerView,有下拉重新整理、滑動刪除、拖拽、載入更多、豐富動畫等功能。
- SmartTabLayout - SmartTabLayout實現viewpgaer頁面導航效果,簡化並實現android的TabHost效果,頂部滑動tab,引導頁,可以自定義tab樣式,過渡效果 實現網易tab,微博tab,微信tab等so easy。 集成了SpringIndicator拖拽效果 。
- PagerBottomTabStrip - 一個基本按谷歌Material Design規範完成的安卓底部導航欄控制元件。
- richeditor - RichEditor for Android 是 Android 平臺下一個所見即所得的文字編輯器控制元件。
- PopoverView - 一個模仿iOS UIPopoverController效果的控制元件。
- MatchView - 電影級TextView動畫效果,絕對驚豔你的雙眼!。
- SwipeMenuListView - listView側滑刪除效果:SwipeMenuListView。
- ParallaxSwipeBack - 帶視覺差的側滑返回,類似於新版微信和lofter的側滑返回效果。核心程式碼小於50行。
- Android-ScreenSlidePager - Full screen slide pager to display images fetched from Internet by Picasso。
- MultiCardMenu - 仿QQ手機管家首頁選單寫的一個開源元件MultiCardMenu。
- fit-chart - fit-chart 一個類似於谷歌健康應用的輪子(wheel view)檢視,效果很不錯。
- advanced-textview - advanced-textview各種高階功能的textview,包括動畫,陰影,各種字型,藝術字,HTML格式顯示,表情等。
- QuickReturn - 給幾乎所有可以滑動的 View 加上快速返回的 Header 或者 Footer,使用非常方便。
- Android-PickerView - 仿iOS的PickerView控制元件,有時間選擇和選項選擇並支援一二三級聯動效果。
- MultiViewPager - 對 ViewPager 的一個擴充套件,Page 可寬可窄,表現很像 Gallelry。
- Android-Week-View - Android Week View是一種用於應用程式中顯示日曆的安卓庫。它支援自定義樣式。。
- MaterialCalendarView - 是一款遵循 Material Design 風格的 Android 日曆。
- WeekCalendar - 周模式的日曆自定義控制元件,支援 4.0 以上。
- DragLinearLayout - DragLinearLayout:自定義的線性佈局,裡面的UI可以自由拖動。
- floatingsearchview - floatingsearchview 一個帶搜尋下拉列表提示的搜尋控制元件。
- LabelView - LabelView 一個簡單的標籤控制元件 支援自定義 文字大小(textSize), 間距(labelTopPadding), 背景色(backgroundColor), 和方向(direction)等。
- MaterialCalendarView - 是一款遵循 Material Design 風格的 Android 日曆。
- SlideDetailsLayout - SlideDetailsLayout:高仿淘寶、京東商品詳情頁面的上拉載入圖文詳情功能。
- MaterialDesignDemo - 基於Material Design Support Library的一個小Demo,這個Demo會慢慢的去完善,不僅僅是一個基於MD的Demo。裡面會含有各種工具類,通用的一些Aadpter以及一些元件等。Android自定義View之高仿QQ健康
- BaseRecyclerViewAdapterHelper - 集成了RecyclerViewAdapter的常用功能的基類,大量減少Adapter寫的程式碼,輕鬆新增點選事件、新增RecyclerView載入動畫、新增新增頭部、新增尾部、新增下拉重新整理、上拉載入更多、新增分組、自定義item型別。
- ahbottomnavigation - 一個仿 Material Bottom Navigation 的類庫。
- StickyHeaderListView - 功能強大的StickyHeaderListView:標題漸變、吸附懸停、篩選分類、動態頭部等。
衛星選單
- android-satellite-menu - 點選主按鈕,會彈出多個圍繞著主按鈕排列的子按鈕,從而形成一個彈出式選單。子按鈕彈出和消失的動畫效果都很棒。這種彈出式選單按鈕應用在Path app中。
- ArcMenu - 實現彈出式按鈕群(選單)。點選主按鈕,會在住按鈕旁邊彈出多個按鈕(選單)。彈出的按鈕有兩種排列形式,一種是圍繞著主按鈕成圓弧形排列,一種是和主按鈕並排成一字型排列, 仿Path 2.0 (for iOS)。
節選器
- SegmentView - 類似iOS的Segment Control控制元件,第一種方式是使用 RadioGroup 實現,O網頁連結。
- SHSegmentControl - 類似iOS的Segment Control控制元件,此種方式的可定製化更好。
- android-segmentedradiobutton - 在Android中實現類似iOS的分段單選按鈕(segmented control),本人以前專案一直使用,值得擁有。
- android-segmented-control - RadioGroup實現類似ios的分段選擇(UISegmentedControl)控制元件。
下拉重新整理
- PullDownListView - 一個下拉重新整理的控制元件,實現了仿微信下拉中眼睛動畫的效果。
- ZrcListView - 一個順滑又漂亮的Android下拉重新整理與載入更多列表元件,增加下拉重新整理及滾動到底部自動載入的功能;增加越界回彈效果;增加自定義列表項動畫的功能。
- StikkyHeader - 【Android控制元件原始碼:頭部固定的控制元件列表效果】這是一個可以支援頭部固定的控制元件列表功能,原始碼StikkyHeader,StikkyHeader是一個可以在滾動的時候將頭部固定的控制元件,還可以將動畫效果和StikkyHeader一起使用,api非常簡單, 支援ListView,RecyclerView,ScrollView。支援2.3一下裝置使用的StikkyHeader
- PullDownListView - 實現了模仿微信眼睛下拉效果,原始碼PullDownListView,下拉重新整理,上拉載入,模仿微信眼睛。
- BGARefreshLayout-Android - 多種下拉重新整理效果、上拉載入更多、可配置自定義頭部廣告位,目前已經實現了四種下拉重新整理效果:新浪微博下拉重新整理風格、慕課網下拉重新整理風格、美團下拉重新整理風格、類似qq好友列表黏性下拉重新整理風格。
- ParallaxListView - 模仿Path的下拉重新整理,Head頭部圖片下拉放大。
- CoordinatorLayoutDemos - 收集了不少資源寫了一個基於CoordinatorLayout實現的下拉重新整理效果。
模糊效果
HUD與Toast
- android-UCToast - 在不申請任何許可權的情況下在 Android 應用中彈出懸浮窗,實現文件。
- sweet-alert-dialog - sweet-alert-dialog是一款清新文藝的 Android 彈窗, 靈感來自於 JS 版的 SweetAlert。
進度條
- easyloadingbtn - 模仿了一個Dribbble上的Material Design效果,環形loading, 進度條、進度圈。
- AnimatedCircleLoadingView - 一個有限/無限載入動畫效果。基於Nils Banner的android-watch-loading-animation設計圖。該設計本來是針對智慧手錶的。
- circular-progress-button - 帶動態效果的Button(按鈕)可要比靜態的按鈕炫酷的多了,大家看到效果圖就知道了。
- CircularBarPager - Android實現的動態效果,一個數字圓圈進度效果,原始碼CircularBarPager,material 風格的數字圓圈進度顯示庫(api10 +)。
- WhorlView - 一個炫酷的漩渦載入效果自定義View。
- AVLoadingIndicatorView - AVLoadingIndicatorView整合了一些漂亮的 Android 動畫載入效果。
- GBSlideBar - GBSlideBar類似uber/滴滴等app的滑動選擇工具條。
- HouseLoading - 一個有趣的android載入loading動畫。實現原理
UI其他
- MixtureTextView - 富文字,支援Android圖文混排、文字環繞圖片等效果。
- android-ActionQueue - Action Queue 用於執行有次序的佇列操作,比如按次序彈出對話方塊,這在 Android 中尤其有用。
- WheelView-Android - WheelView-Android 是一款開源的 Android 滾動選擇控制元件, 適用於不少應用場景。
- Android Wheel - 帶有刻度的旋轉器:日曆、三級聯動。
- CharacterPickerView - 可實現三級聯動的選擇器,高仿iOS的滾輪控制元件,可實現單項選擇,並支援一二三級聯動效果。
- Highlight - Highlight一款可應用於 Android 應用上的指向性功能高亮的庫, 可以快速的給應用新增上應用引導的效果。
- HeaderAndFooterRecyclerView - 支援addHeaderView、 addFooterView、分頁載入的RecyclerView解決方案 。
- CleverRecyclerView - 是一個基於RecyclerView的擴充套件庫,提供了與ViewPager類似的滑動效果並且添加了一些有用的特性。
- FlycoTabLayout - 一個Android TabLayout庫,目前有兩個TabLayout:SlidingTabLayout、CommonTabLayout。
- AndroidChangeSkin - 一種完全無侵入的 Android 應用換膚方式,支援外掛式和應用內換膚,無需重啟 Activity。
- Lobsterpicker - Lobsterpicker 為 Android 開發者提供了滿足 Material Design 風格的顏色選擇器。
- FlycoRoundView - 一個擴充套件原生控制元件支援圓角矩形框背景的庫,可以減少相關shape資原始檔使用。
- FlowingDrawer - FlowingDrawer 一個彈性效果的抽屜選單,圖片是概念圖,實際效果實現了70%(側滑選單)。
- TextSurface -是用 Java 寫的一款藉助酷炫的動畫效果來完成訊息展示的微型動畫框架。
- android-animate-RichEditor -android-animate-RichEditor是一款支援圖片插入動畫效果的 Android 富文字編輯器。
- FlycoPageIndicator - android-animate-RichEditor是一款支援圖片插入動畫效果的 Android 富文字編輯器。
- DropDownMenu - 一個實用的多條件篩選選單,在很多App上都能看到這個效果,如美團,愛奇藝電影票等。
- Swipe-Deck - 仿 Tinder 的可以左右滑動消除卡片效果的自定義控制元件。
- IntlPhoneInput - 一個支援國際化的電話號碼輸入的自定義控制元件。
- AndroidUI4Web - AndroidUI4Web是一個高效能的WebApp框架, 在移動瀏覽器上有與原生App一致的體驗。
- SmoothCheckBox - SmoothCheckBox帶有切換動畫的CheckBox。
- AndroidTimelineViewx - AndroidTimelineViewx仿微信朋友圈 時間軸。
- CityPicker - CityPicker仿美團等選擇城市列表。
- material-intro - Material Design 風格的引導頁。
- greedo-layout-for-android - 深度定製的 LayoutManager,在顯示網格佈局的時候會考慮螢幕寬高比。
- Rosie - 可以讓你建立遵循 Clean Architecture 的應用的框架。
- android-md-core - Material風格bootstrap的框架。
- SwipeCardView - 一個帶漸變層疊動畫的左右滑動效果(類似於探探左右刷臉)。
- SwipeSelector - 可以左右滑動切換 item 的 Selector。
- ForegroundViews - 類似於 FrameLayout 的支援的前景自定義 View。
- RecyclerItemDecoration - RecyclerView相關的ItemDecorstion仍然保持高度定製性,易用性。
- materiallogindemo - 一個炫酷的Material Design 風格的登入和註冊頁面 。教程
動畫
- 動畫特效大全 - Android 動畫特效大全。
- SwitchLayout - 國內開發者, Android的Activity切換動畫特效庫SwitchLayout,檢視切換動畫庫,媲美IOS。
- ActivityOptionsICS - 一個低版本activity動畫相容庫——ActivityOptionsICS,可以很好的實現MD的動畫效果。
- SwipeBack - 一個可以通過手勢返回到上一個Activity的開源庫,支援上下左右四個方向返回,支援多個View為Child。
- SpringIndicator - 模仿Morning Routine的引導頁效果SpringIndicator;基於模仿紅點拖拽的Demo實現:BezierDemo;sample中使用到 快速建立ViewPager和ListView等的第三方庫:MultipleModel。
- XhsWelcomeAnim - 國內開發者, 華麗酷炫歡迎引導介面 動畫沒有之一。
- Material-Animations - Material風格動畫,可以定義兩個Activity之間的動畫。
- android-shapeLoadingView - android-shapeLoadingView實現高仿新版58 載入動畫,loading。
- 一個絢麗的loading - 一個絢麗的loading動效分析與實現。
- TransitionPlayer - 一個 Transition 動畫控制控制庫,可以讓你很輕鬆的建立一個可互動的動畫。
- loading-balls - loading-balls 一款支援高度配置的 Android 載入進度球。
- SogoLoading - 仿搜狗瀏覽器載入動畫,實現說明。
- ExplosionField - Android中View 炸裂特效的實現分析。
- AZExplosion - AZExplosion:模仿ExplosionField的粒子破碎效果。
- SwipeCardView - SwipeCardView一個帶漸變層疊動畫的左右滑動效果(類似於探探左右刷臉)。類似SwipeCard
- LoadingDrawable - 一些酷炫的載入動畫, 可以與任何View配合使用,作為載入動畫或者Progressbar, 此外很適合與RecyclerRefreshLayout 配合使用作為重新整理的loading 動畫。
網路相關
網路連線
- ion - 一個非同步網路請求和圖片載入的庫,一個庫能搞定幾乎所有的網路請求。
- 多執行緒下載 - Android 實現多執行緒下載 完美程式碼。
- opandroid - android p2p的開源實現。
- okio - square出的Okio這個庫,尤其擅長處理二進位制資料。如果覺得Java的輸入輸出流實在太複雜囉嗦,不妨試試Okio。
- okhttp - square出的okhttp庫。
- OkHttpPlus - OkHttp 的一個工具類開源專案OkHttpPlus——支援GET、POST、UI執行緒回撥、JSON格式解析、鏈式呼叫、檔案上傳下載 ,OkHttpPlus介紹。
- jchat-android - 一個聊天 App,具有完備的即時通訊功能,JChat 的功能基於極光 JMessage SDK 來開發。
網路測試
- augmented-traffic-control - Facebook宣佈開源行動網路測試工具ATC,該工具支援利用Wi-Fi網路模擬2G、2.5G、3G以及LTE 4G行動網路環境,讓測試工程師們能夠快速對智慧手機和App在不同國家地區和應用環境下的效能表現進行測試。
影象獲取
- Universal Image Loader - Universal Image Loader 是一個強大的、可高度定製的圖片快取,簡稱:UIL,可以高度配置的網路圖片快取庫,非常靈活,使用者量最多 。
- picasso - picasso 功能單一,沒有快取過期,同androidQuery一樣鏈式呼叫,載入本地檔案速度慢(沒有生成thumbnails) ,Picasso and Android-Universal-Image-Loader,另外的一些諸如裁剪圖片:Picasso.with(context) .load(url) .resize(50, 50) .centerCrop() .into(imageView)。
- tape - 類似於圖片載入庫(例如UIL、Picasso等)實現非同步載入,但是載入的不一定是圖片。!
- enif - enif 。
- wqgallery - wqgallery實現類似微信選擇照片功能,可以通過相機或相簿選擇,支援單張裁剪,支援單選模式、支援多選模式。
響應式程式設計
地圖
- 百度地圖 - Android百度地圖 線路規劃,模擬運動軌跡,及全景效果。
- AirMapView - 支援多個本地地圖提供者包括谷歌地圖V2和亞馬遜地圖V2。如果裝置沒有任何受支援的本地地圖提供者,AirMapView會回退到基於web的地圖提供者(目前谷歌地圖)。
資料庫
- ORMLite - ORMLite做的最棒但是學習成本有點兒高,ORMLite的文件有點兒爛。
- SugarORM - SugarORM比較輕便, 支援Has a 和 Has many對映,但無法儲存集合,沒有對映關係。
- GreenDAO - GreenDAO要先建立一個java專案來生成對應的表,一變動又要生成,很不方便。
- ActiveDriod - ActiveDriod也不錯 官網。
- sqlbrite - 良心企業Square的又一開源專案,當你不想給用ContentProvider,只想簡單監聽SQLite表增刪改的資料變更時可以試試它。
- sqlbrite - DBExecutor android ORM資料庫 1.使用了讀寫鎖,支援多執行緒操作資料。 2.支援操作多個數據庫 3.支援事務 4.快取Sql,快取表結構。
- Iron - 一個快速和易用的 NoSQL 資料儲存框架。
- hawk - 一個快速和易用的鍵值對資料儲存框架,支援AES加密,支援SharedPreferences或Sqlite儲存,支援Gson解析。
- DBFlow - 一個速度極快,功能強大,而且非常簡單的 Android 資料庫 ORM 庫,為你編寫資料庫程式碼,DBFlow 已被證明是最好的解決方案。5 個頂級 Android 開源庫
影象瀏覽及處理
- MPAndroidChart - MPAndroidChart是一個功能強大的圖表開源類庫:曲線圖、柱形圖、環形圖。
- XCL-Charts - (國人開發)基於Android Canvas來繪製各種圖表,使用簡便,定製靈活。
- WilliamChart - 繪製圖表的庫,支援LineChartView、BarChartView和StackBarChartView三中圖表型別,並且支援 Android 2.2及以上的系統。
- CropImageView - 原生ImageView只支援centerCrop,這裡有支援9個方向裁剪的ImageView。
- SimpleCropView - 一個Android的圖片裁剪庫,使用簡單,易於定製。
- DrawableView - DrawableView實現畫板功能,可以改變畫筆粗細,顏色,支援撤銷功能。
- ImageCoverFlow - ImageCoverFlow效果不錯的畫廊控制元件 可以設定畫廊一次可見圖片的張數,和其他第三方Gallery控制元件不同的是,該控制元件直接繼承自View,而不是sdk中的Gallery控制元件。
- FancyCoverFlow - 支援Item切換動畫效果的類似Gallery View。改進版本可以無限輪播,可以選擇自動輪播或者 手動滑動。
- BGABanner-Android - demo中演示了引導頁、以及通過fresco、android-async-http、gson實現廣告條的自動輪播效果(splash 、 ViewPager切換動畫) 。
- RecyclerViewPager - 重寫後的 RecyclerViewPager 完全繼承自RecyclerView,可以自定義觸發翻頁的距離,可自定義翻頁速度,支援VerticalViewPager,支援Fragment。
- StickerCamera - 可以說是一個完整的相機、圖片編輯的 APP,集成了大部分市面上有的同類 APP 的功能,裁剪、濾鏡、貼紙應有盡有。
- demo6_PhotoRiver - 圖片流動顯示的demo,可以點選流動中的圖片放大顯示,雙擊空白處圖片以九宮格排列。
- glide-transformations - 一個基於Glide的transformation庫,擁有裁剪,著色,模糊,濾鏡等多種轉換效果。
- SmartDrawing - 一個輕量級的手繪板,加入了一點截圖功能。這只是一個Demo。並不能作為類庫,也不是完整的專案工程,僅供學習或參考使用。
- LargeImage - 載入大圖 可以高清顯示10000*10000畫素的圖片。
- GalleryFinal - 自定義相簿,實現了拍照、圖片選擇(單選/多選)、 裁剪(單/多裁剪)、旋轉、ImageLoader無繫結任由開發者選 擇、功能可配置、主題樣式可配置。GalleryFinal為你定製相簿。
- AndroidAlbum - AndroidAlbum圖片選擇器:1、MVP結構設計;2、工廠模式對載圖框架進行封裝抽象,方便替換其他載圖框架;3、閃退日誌的蒐集,方便揪BUG。
- uCrop - uCrop 是 Yalantis 推出的又一款力作, 用於裁剪 Android 系統上的圖片, 致力於打造最佳的圖片裁剪體驗。
- crop-image-layout - crop-image-layout:圖片裁切佈局。
視訊音訊處理
- ijkplayer - B站開源的視訊播放器,支援Android和iOS。
- DanmakuFlameMaster - 這裡是Android上最好的開源彈幕引擎·烈焰彈幕使。
- YouTubePlayerActivity - 一個可以播放YouTube視訊的Activity,支援螢幕旋轉、聲音控制、播放失敗處理、可以自定義Activity關閉動畫以及在橫屏播放的時候自動隱藏status bar。
- JamsMusicPlayer - 是一個功能強大的 Android 開源播放器, 作者將原本收費的專案拿出來開源, 實在令人敬佩。
- RxAndroidAudior - RxAndroidAudior目前最魯棒的Android聲音錄製和播放封裝庫了,說明。
- Timber - 一款遵循了Material Design並且設計精美的播放器 Timber Music Player,已經在google play上架。
- LandscapeVideoCamera - 一款功能強大的 Android 視訊錄製庫, 僅允許橫屏錄製, 提供細粒度控制視訊的質量與檔案大小。
測試及除錯
- DevelopQuickSetting - 快速開啟關閉開發者設定的工具,提供了app介面和桌面widget,能快速開啟關閉overdraw,layout border,gpu rendering,adb wifi,不儲存activity例項等功能。
- jadx - 一個Android反編譯神器,不同於常見的dex2jar,這個反編譯器生成程式碼的try/catch次數更少,View也不再是數字id了,可讀性更高。
- Androguard - Androguard使用Python寫的一系列逆向工具集,功能很強大哦,對逆向工程感興趣的小夥伴可以這個系列,教程。
- logger - 一個簡單、漂亮、功能強大的Android日誌程式。
- stf - WEB 端批量移動裝置管理控制工具 STF 的環境搭建和執行,使用說明 。
- DecompileApk - 一鍵反編譯 APK,輸出所有反編譯後的程式碼、資源,使用方便。
- AppCrashTracker - 一個異常追蹤器,可以生成一個 JSON 格式的日誌並可以上傳到伺服器。
動態更新熱更新
- code-push -大微軟推出的一套可以為用 React Native 和 Cordova 開發的 App 提供程式碼熱更新的方案。
- DynamicAPK - 實現Android App多apk外掛化和動態載入,支援資源分包和熱修復。
- AndFixDemo - AndFix是alibaba出品的開源熱更新技術。