1. 程式人生 > >GitHub優秀開源工具---Android

GitHub優秀開源工具---Android

動畫框架:

    compile 'com.nhaarman.listviewanimations:lib-core:[email protected]'
    compile 'com.nhaarman.listviewanimations:lib-manipulation:[email protected]'
    compile 'com.nhaarman.listviewanimations:lib-core-slh:[email protected]'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.android.support:support-compat:25.1.1'
    compile 'com.daimajia.easing:library:
[email protected]
' compile 'com.daimajia.androidanimations:library:[email protected]'
    • Activity 之間的跳轉, Fragment 與 Fragment 之間的跳轉,以及各個 View 變化前後的過渡動畫
    • Material-Animations-master
    • 一個彈性動畫庫, 可以讓動畫看起來真實自然, 像真實世界的物理運動帶有力的效果, 使用的引數則是 Facebook 的 origami 中使用的
    compile 'com.facebook.rebound:rebound:0.3.8'
  1. AndroidImageSlider
    • 為ViewPager圖片滑動提供多種動畫效果, 還可以輕易為ViewPager載入網路圖片
    compile 'com.daimajia.androidanimations:library:[email protected]'
    compile 'com.daimajia.slider:library:[email protected]'
    compile 'com.wang.avi:library:2.1.3'
  1. Lottie---json動畫檢視
compile 'com.airbnb.android:lottie:2.2.0'

UI框架:

  1. IRecyclerView--擴充套件類
    • IRecyclerView 經典/酷炫 重新整理,更多,頭尾檢視
    compile 'com.github.Aspsine:IRecyclerView:0.0.5'
  1. MaterialDesignLibrary
    • 控制元件都是遵循了 Google Material Design 設計規範開發出來,
    • 例如有: Flat Button, Rectangle Button, CheckBox, Switch,
    • Progress bar circular indeterminate
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.github.navasmdc:MaterialDesign:[email protected]'
  1. MaterialDialog
    • Material Dialogs 是一個可高度定製易用, 符合 Material Design 風格的 Dialogs
    The *core* module contains all the major classes of this library, including `MaterialDialog`.
    You can create basic, list, single/multi choice, progress, input, etc. dialogs with core.

    compile 'com.afollestad.material-dialogs:core:0.9.4.5`

    The *commons* module contains extensions to the library that not everyone may need. This includes the
`ColorChooserDialog`, `FolderChooserDialog`, the Material `Preference` classes, and `MaterialSimpleListAdapter`/`MaterialSimpleListItem`.

    compile 'com.afollestad.material-dialogs:commons:0.9.4.5'
  1. Observablescrollview
    • 上劃聯動
    • 實現擁有 Material Design 應用視覺體驗的介面外觀,
    • 支援ListView, ScrollView, WebView, RecyclerView, GridView元件
    compile 'com.github.ksoichiro:android-observablescrollview:1.6.0'
    compile 'com.github.clans:fab:1.6.4'
    compile 'com.github.ShogoMizumoto:ZDepthShadowLayout:1.0.4'
    compile 'de.hdodenhof:circleimageview:2.1.0'
    compile 'com.youth.banner:banner:1.4.9' 
  1. PhotoView
    • 支援 Pinch 手勢自由縮放, 支援雙擊放大/還原, 支援平滑滾動
    compile 'com.github.chrisbanes:PhotoView:1.2.5'
    compile('com.mikepenz:materialdrawer:[email protected]') {
        transitive = true
    }
    compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'

12.Bootstrap--- Android版的Bootstrap

    compile 'com.beardedhen:androidbootstrap:2.3.1'
    compile "com.daimajia.swipelayout:library:[email protected]"
  1. AndroidSlidingUpPanel
    • 顯示面板控制元件
    • 在底部顯示部分控制元件,可上劃,
    • 初始顯示區域高度小於等於68dp
    compile 'com.sothree.slidinguppanel:library:3.3.1'
  1. MaterialViewPager
    • 一個簡單易用 Material Design 風格的 ViewPager 庫
    compile ('com.github.florent37:materialviewpager:[email protected]'){
        transitive = true;
    }
   compile 'in.srain.cube:ultra-ptr:1.0.11'
  1. AppIntro
    • 快速搭建漂亮酷炫的引導頁庫
    compile 'com.github.apl-devs:appintro:v4.2.0'
  1. ShowcaseView
    • 非常適合用於對使用者進行第一次使用進行指導的庫
    compile 'com.github.amlcurran.showcaseview:library:5.4.3'
  1. Calligraphy
    • 簡化 Android 應用使用自定義字型的類庫
    compile 'uk.co.chrisjenx:calligraphy:[email protected]'
  1. Material
    • Material 是將 Material Design 風格控制元件封裝在該庫當中,
    • 目前封裝有Progress, Button, Switch, Slider, Spinner, Text Field, TabPageIndicator, SnackBar, Dialog, BottomSheetDialog, Dynamic theme
    compile 'com.github.rey5137:material:1.2.4'
  1. RippleEffect
    • 實現在 Android 任何元件點擊出現 Material Design 的波紋效果
    • 向下相容到 Android API9
    compile 'com.github.traex.rippleeffect:library:1.3'
    compile 'com.github.castorflex.smoothprogressbar:library:1.1.0'
    compile 'com.github.castorflex.smoothprogressbar:library-circular:1.1.0'
  1. UltimateRecyclerView
    • RecyclerView(advanced and flexible version of ListView), 包括了下拉重新整理, 載入更多, 多種動畫, 空資料提示, 拖動排序, 視差處理, 工具欄漸變, 滑動刪除, 自定義floating button, 多種重新整理效果, scrollbar, sticky header, 多 layout 支援等等元素
    compile 'com.marshalchen.ultimaterecyclerview:library:0.7.2'
  1. MaterialEditText
    • 就職於 Flipboard 的員工 扔物線 開發的, 在 AppCompat v21 中也提供了 Material Design 的控制元件 EditText, 可是由於比較難用, 沒有提供設定顏色的 Api, 於是就產生這個第三方庫
    compile 'com.rengwuxian.materialedittext:library:2.1.4'
    compile ('com.github.ozodrukh:CircularReveal:[email protected]') {
        transitive = true;
    }
    compile 'com.github.yalantis:Side-Menu.Android:1.0.1'
  1. SystemBarTint
    • 實現沉浸式狀態列庫, 適用於 Android 系統 4.4 其以上的版本
    compile 'com.github.open-android:SystemBarTint:v1.0.0'
    compile 'com.daimajia.numberprogressbar:library:[email protected]'
  1. SwipeBackLayout
    • 支援螢幕上下左右滑動返回上層 Activity, 關閉當前 Activity
    compile 'me.imid.swipebacklayout.lib:library:1.0.0'
  1. android-gif-drawable
    • 支援 gif 顯示的 view, 用 jni 實現的, 編譯生成 so 庫後直接 xml 定義 view
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.8'
  1. SmartTabLayout
    • 自定義的 Tab title strip, 基於 Google Samples 中的 android-SlidingTabBasic 專案
    compile 'com.ogaclejapan.smarttablayout:library:[email protected]'
    compile 'com.ogaclejapan.smarttablayout:utils-v4:[email protected]'
    compile 'com.ogaclejapan.smarttablayout:utils-v13:[email protected]'
  1. SweetAlert
    • 清新文藝, 快意靈動的甜心彈框, 靈感來源於 JS 版
    compile 'cn.pedant.sweetalert:library:1.3'
  1. KenBurnsView
    • you can change the duration and the interpolator of transitions and pause/resume them.
    compile 'com.flaviofaria:kenburnsview:1.0.7'
    compile 'com.github.zhaolei9527:UseBottomTabBar:v1.0.3'
    compile 'com.jpeng:JPTabBar:1.2.5'
    compile 'io.github.rockerhieu:emojicon:1.4.2'
    compile 'q.rorbin:badgeview:1.1.2'
  1. IMUI

    • Aurora IMUI 是個通用的即時通訊(IM)UI 庫,不特定於任何 IM SDK。

網路框架:

  1. OkHttp
    • An HTTP & HTTP/2 client for Android and Java applications.
    compile 'com.squareup.okhttp3:okhttp:3.8.1'
  1. Retrofit---Rx系列封裝
    • A type-safe HTTP client for Android and Java
    compile 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'
    compile "io.reactivex.rxjava2:rxjava:2.1.3"
    compile 'io.reactivex:rxandroid:1.2.1'
  1. xUtils
    • xUtils 是一個快速開發框架, 裡面包含 DbUtils, ViewUtils, HttpUtils, BitmapUtils 四大模組, 可用於快速開發, 支援大檔案上傳, 擁有更加靈活的 ORM, 最低相容 Android 2.2
    compile 'org.xutils:xutils:3.5.0'
  1. Gson
    compile 'com.google.code.gson:gson:2.8.1'
    compile 'com.alibaba:fastjson:1.2.37'
    compile 'com.alibaba:fastjson:1.1.62.android'
    compile 'com.loopj.android:android-async-http:1.4.9'
  1. Volley
    • AsyncHttpClient 和 Universal-Image-Loader 的優點集於了一身
    compile 'com.mcxiaoke.volley:library:1.0.19'
  1. AndroidAsync
    • 基於 NIO 的低端 Android 非同步 socket, http (client+server)
    • websocket 和 socket.io 網路通訊協議類庫
    compile 'com.koushikdutta.async:androidasync:2.2.1'

通訊

    compile 'org.greenrobot:eventbus:3.0.0'

圖片載入框架

  1. Glide---圖片載入
    compile 'com.github.bumptech.glide:glide:4.0.0-RC1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
  1. uCrop
    • uCrop 是Yalantis 組織開源的圖片裁剪庫, 支援縮放, 旋轉圖片, 支援各種比例的裁剪框, 非常強大的一個圖片裁剪庫
    compile 'com.yalantis:ucrop:2.2.0'
    compile 'com.yalantis:ucrop:2.2.0-native'
  1. CustomShapeImageView
    • A library for supporting custom shaped ImageView(s) using SVGs and paint shapes
    compile 'com.mostafagazar:customshapeimageview:1.0.4'

資料庫框架:

    compile 'org.greenrobot:greendao:3.2.2'

註解框架:

    compile 'com.jakewharton:butterknife:8.7.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
    annotationProcessor "org.androidannotations:androidannotations:4.3.1"
    compile "org.androidannotations:androidannotations-api:4.3.1"
  1. Dagger---註解工具,利用反射Inject
    compile 'com.squareup.dagger:dagger:1.2.5'
    compile 'com.squareup.dagger:dagger-compiler:1.2.5'

日誌列印:

  1. Logger---支援多種型別資料列印
    compile 'com.orhanobut:logger:2.1.1'
  1. Timber---支援佔位符替換
    compile 'com.jakewharton.timber:timber:4.5.1'

記憶體檢測:

    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'

工具類集合:

  1. Lambda外掛
    This plugin will automatically build your java or android project with retrolambda, giving you lambda goodness on java 6 or 7. It relies on the wonderful retrolambda by Esko Luontola.
    classpath 'me.tatarka:gradle-retrolambda:3.7.0'

    apply plugin: 'me.tatarka.retrolambda'
    
    android{
        ...
        compileOptions {  
            sourceCompatibility JavaVersion.VERSION_1_8  
            targetCompatibility JavaVersion.VERSION_1_8  
        }
    }
  1. Android-Common
    android-common-lib 是 Trinea 大神收集的一些開發通用的快取, 公共 View 以及一些常用工具類
    compile 'cn.trinea.android.common:trinea-android-common:4.2.15'
  1. AndroidBucket
    • Android開發常用整理(不斷擴充中)
    • 包含各種工具類、執行緒池、日誌、自定義的控制元件、程式崩潰
    • 捕捉處理、預設的Application配置、常用的Adapter等
    compile 'com.github.wangjiegulu:AndroidBucket:1.0.4'