(二十)Android App開發(fā)推薦幾個gitHub上排名靠前常用框架

Android最全UI庫合集
https://davis.blog.csdn.net/article/details/104820446?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-104820446-blog-45787729.t0_edu_mlt&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-104820446-blog-45787729.t0_edu_mlt&utm_relevant_index=17
Android最全UI庫合集
1.Banner gitHub上5000多顆星
現(xiàn)在的絕大數(shù)app都有banner界面,實現(xiàn)循環(huán)播放多個廣告圖片和手動滑動循環(huán)等功能耿戚。因為ViewPager并不支持循環(huán)翻頁囚企, 所以要實現(xiàn)循環(huán)還得需要自己去動手糜烹,我就把項目中的控件剔了出來,希望大家覺得有用嗜湃。目前框架可以進行不同樣式省有、不同動畫設置, 以及完善的api方法能滿足大部分的需求了贯涎。

dependencies{
    compile 'com.youth.banner:banner:1.4.10'  //最新版本
}

詳細請看:https://github.com/youth5201314/banner

  1. BaseRecyclerViewAdapterHelper gitHub上13000多顆星
    BRVAH是一個強大的RecyclerAdapter框架(什么是RecyclerView听哭?),它能節(jié)約開發(fā)者大量的開發(fā)時間塘雳,集成了大部分列表常用需求解決方案陆盘。為什么會有它?請查看「Android開源框架BRVAH由來篇」該框架于2016年4月10號發(fā)布的第1個版本到現(xiàn)在已經(jīng)一年多了败明,經(jīng)歷了800多次代碼提交隘马,140多次版本打包,修復了1000多個問題妻顶,獲得了9000多star酸员,非常感謝大家的使用以及反饋。
    dependencies {
            compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
    }

gitHub地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper

目前BaseRecyclerViewAdapterHelper已好久不維護:
可嘗試以下代碼庫
https://github.com/hiliving/BRV

3.FlycoDialog_Master gitHub上將近2000多顆星
一個強大的Android對話框庫,簡化自定義對話框.支持2.2+.各種分享彈窗效果,彈出各種dialog讳嘱,頂部彈出幔嗦,底部彈出,分享頁面布局等等呢燥,可查看demo.apk先預覽
apk下載地址:https://fir.im/mj9p
語法簡單幾行代碼全部搞定
gitHub地址:https://github.com/H07000223/FlycoDialog_Master

如果想要實現(xiàn)更多的自定義樣式 包括對彈窗中每個item條目布局的自定義 請點擊鏈接
https://github.com/shaoshuai904/XStyleDialog

4.SmartRefreshLayout gitHub上將近1萬1千顆星
下拉刷新崭添、上拉加載寓娩、二級刷新叛氨、淘寶二樓、RefreshLayout棘伴、OverScroll寞埠,Android智能下拉刷新框架,支持越界回彈焊夸、越界拖動仁连,具有極強的擴展性,集成了幾十種炫酷的Header和 Footer。

<com.scwang.smartrefresh.layout.SmartRefreshLayout
        android:id="@+id/scroll_home"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/include_home_title">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <pl.droidsonroids.gif.GifImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_margin="5dp"
                android:src="@mipmap/ic_refresh" />
        </RelativeLayout>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/rv_home"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </com.scwang.smartrefresh.layout.SmartRefreshLayout>

pl.droidsonroids.gif.GifImageView是自定義修改的布局
gitHub地址:https://github.com/scwang90/SmartRefreshLayout

5.沉浸式框架框架:gitHub上3000多顆星
android 4.4以上沉浸式狀態(tài)欄和沉浸式導航欄管理饭冬,包括狀態(tài)欄字體顏色使鹅,一句代碼輕松實現(xiàn),以及對bar的其他設置昌抠,尤其解決4.4以下兼容性問題一行代碼直接搞定

compile 'com.gyf.barlibrary:barlibrary:2.3.0'

gitHub地址:https://github.com/gyf-dev/ImmersionBar

6.webview框架:AgentWeb gitHub上3000多顆星
AgentWeb 是一個基于的 Android WebView 患朱,極度容易使用以及功能強大的庫,提供了 Android WebView 一系列的問題解決方案 炊苫,并且輕量和極度靈活

compile 'com.just.agentweb:agentweb:4.0.2' // (必選)
 compile 'com.just.agentweb:download:4.0.2' // (可選)
 compile 'com.just.agentweb:filechooser:4.0.2'// (可選) 

使用時注意點:.setAgentWebParent(cl_web, ConstraintLayout.LayoutParams(-1, -1))
以上方法展示webview的布局 第一個參數(shù)一定和第二個參數(shù)的類型一樣裁厅, 比如布局中使用LinearLayout那第二個參數(shù)就是LinearLayout.LayoutParams(-1, -1),不然網(wǎng)頁加載不出來

gitHub地址: https://github.com/Justson/AgentWeb

7.自定義View之垂直翻頁公告欄文字各種提示效果 gitHub上2000多顆星
俗名:可垂直跑侨艾、可水平跑的跑馬燈
學名:可垂直翻执虹、可水平翻的翻頁公告
Gradle:

compile 'com.sunfusheng:marqueeview:<latest-version>'

應用實例可參考gitHub地址:https://github.com/sfsheng0322/MarqueeView

  1. 圖片及視頻選擇器框架 :gitHub上將近4000顆星
    一款針對android平臺下的圖片選擇器,支持從相冊或拍照選擇圖片或視頻唠梨、音頻袋励,支持動態(tài)權(quán)限獲取、裁剪(單圖or多圖裁剪)当叭、壓縮插龄、主題自定義配置等功能、適配android 6.0+系統(tǒng)的開源圖片選擇框架科展。
    應用實例可參考gitHub地址: https://github.com/LuckSiege/PictureSelector

更多圖片相關(guān)開元項目地址:https://p.codekk.com/?s=%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87%E6%9F%A5%E7%9C%8B

9.基于RxJava2的RxBus2. 主要用于發(fā)送事件/訂閱事件.類似EventBus. 支持Kotlin

dependencies {
    compile 'com.github.MFlisar:RxBus2:0.2'
}
// Send an event to the bus - all observers that observe this class WITHOUT a key will receive this event
RxBus.get().send(new TestEvent());

// boundObject... can be for example your activity
 RxBusBuilder.create(TestEvent::class.java)
                .withBound(this)
                .withMode(RxBusMode.Main)
                .subscribe {
                    if (it.isRefresh) {
                        mPresenter.getHomeBeanList()
                    }
                }

可參考gitHub地址:https://github.com/MFlisar/RxBus2

10.# Android-PickerView
gitHub上7000多顆星
一款仿iOS的PickerView控件均牢,有時間選擇器和選項選擇器,新版本的詳細特性如下:
——TimePickerView 時間選擇器才睹,支持年月日時分徘跪,年月日,年月琅攘,時分等格式垮庐。
——OptionsPickerView 選項選擇器,支持一坞琴,二哨查,三級選項選擇,并且可以設置是否聯(lián)動 剧辐。
gradle 依賴

compile 'com.contrarywind:Android-PickerView:4.1.3'

gitHub地址:https://github.com/Bigkoo/Android-PickerView

11.FlycoTabLayout
一個Android TabLayout庫,目前有3個TabLayout

12.# PopsTabView
PopsTabView是個filter容器,他可以自動,快速,構(gòu)建不同篩選樣式,自由組合成一組tab

篩選器.jpg

優(yōu)點:
支持快速,構(gòu)建不同篩選樣式,順序,自由組合成一組filter的tab.
用接口抽象出filter樣式配置器loader,與功能代碼解耦.
支持自定義配置 篩選結(jié)果ResultLoader<T>
支持自定義數(shù)據(jù)bean.
可以自由擴展,其他類型的Filter類型.
gitHub地址:https://github.com/ccj659/PopsTabView
13 # RxPermissions
android6.0以上動態(tài)權(quán)限申請 github6000多顆星寒亥,幾行代碼搞定,簡潔方便快捷
gitHub地址:https://github.com/tbruyelle/RxPermissions

14# huazhiyuan2008/RecyclerViewCardGallery

image.png

android實現(xiàn)畫廊效果 gitHub上2千多顆星荧关,## 完整代碼下載
https://github.com/huazhiyuan2008/RecyclerViewCardGallery

如果想要實現(xiàn)循環(huán)滑動畫廊實現(xiàn)修改方法如下:
https://www.imooc.com/article/21998
github地址https://github.com/zjw-swun/RecyclerViewCardGallery溉奕,不得不說第二種方法填補了第一種的一些坑,比如設置item寬度忍啤、以及item之間的間隔
通過設置app:cardElevation="6dp" app:cardMaxElevation="15dp"的值來改變間距
通過設置mShowLeftCardWidth的屬性來設置卡片間距

15 列表拖拽移動順序加勤、單個item滑動刪除修改以及其它特殊操作5000顆star
https://github.com/yanzhenjie/SwipeRecyclerView

個人項目使用的版本
implementation 'com.yanzhenjie:recyclerview-swipe:1.1.3'
特性:
Item側(cè)滑菜單,支持水平分布、垂直分布
Item長按拖拽鳄梅、側(cè)滑刪除
添加/移除HeaderView/FooterView
自動/點擊加載更多的功能
支持二級列表叠国,List形式、Grid形式戴尸、Staggered形式
Sticky普通布局黏貼和ReyclerView分組黏貼
支持AndroidX

16 圓角圖片庫 gitHub 6000顆星
https://github.com/vinc3m1/RoundedImageView
Add the following to your build.gradle to use:

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.makeramen:roundedimageview:2.3.0'
}

17 視頻開發(fā)框架:https://github.com/CarGuo/GSYVideoPlayer
視頻播放器(IJKplayer煎饼、ExoPlayer、MediaPlayer)校赤,HTTPS吆玖,支持彈幕,外掛字幕马篮,支持濾鏡沾乘、水印、gif截圖浑测,片頭廣告翅阵、中間廣告,多個同時播放迁央,支持基本的拖動掷匠,聲音、亮度調(diào)節(jié)岖圈,支持邊播邊緩存讹语,支持視頻自帶rotation的旋轉(zhuǎn)(90,270之類),重力旋轉(zhuǎn)與手動旋轉(zhuǎn)的同步支持蜂科,支持列表播放 顽决,列表全屏動畫,視頻加載速度导匣,列表小窗口支持拖動才菠,動畫效果,調(diào)整比例贡定,多分辨率切換赋访,支持切換播放器,進度條小窗口預覽缓待,列表切換詳情頁面無縫播放蚓耽,rtsp、concat命斧、mpeg田晚。
有其它好用的框架大家有推薦的可以及時提出來 我會整理更新和大家一起分享,謝謝??国葬。

其它視頻播放 gitHub鏈接 https://github.com/search?q=ExoPlayer&type=repositories&s=stars&o=desc

18 文件下載框架:# lingochamp/FileDownloader
Android 文件下載引擎,穩(wěn)定、高效汇四、靈活接奈、簡單易用 1萬顆星

19 圖片預覽框架 類似于微信聊天頁面點擊圖片或視頻左右滑動的效果# yangchaojiang/ZoomPreviewPicture

使用方式:

GPreviewBuilder.from(GridViewCustomActivity.this)//activity實例必須
                            .to(CustomActivity.class)//自定義Activity 使用默認的預覽不需要
                            .setData(mThumbViewInfoList)//集合
                            .setUserFragment(UserFragment.class)//自定義Fragment 使用默認的預覽不需要
                            .setCurrentIndex(position)
                            .setSingleFling(false)//是否在黑屏區(qū)域點擊返回
                            .setDrag(false)//是否禁用圖片拖拽返回  
                            .setType(GPreviewBuilder.IndicatorType.Dot)//指示器類型
                            .start();//啟動           

圖片預覽 更容易維護上手:https://github.com/stfalcon-studio/StfalconImageViewer

  1. 仿微信添加標簽布局


    image.png

使用FlowLayout來自于鴻洋大神的框架。
正好現(xiàn)在在做項目需要用到通孽。自己試著用了下序宦,具體可以看效果圖
鴻洋的github:https://github.com/hongyangAndroid/FlowLayout

android Studio中注入依賴:

implementation 'com.zhy:flowlayout-lib:1.0.3'

布局文件:
zhy:max_select=設置可選中的tag數(shù)量。
zhy:max_select="-1" 不限制背苦。
zhy:max_select="5"限制可選中5個標簽互捌。適合文章發(fā)布選擇標簽開發(fā)。
auto_select_effect="true | false"設置點擊效果行剂,默認顯示

  1. 版本更新庫
    https://github.com/xuexiangjys/XUpdate

如下圖:


image.png

也可參考:github源碼地址:https://github.com/ZuoHailong/AppUpdate

版本更新二:https://github.com/chiclaim/AndroidUpdater

參考文獻:最終方案以跳轉(zhuǎn)Activity新彈窗最靠譜:http://www.reibang.com/p/98ea7e866ffd?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

可移動懸浮窗 權(quán)限檢測 事件屏蔽均已實現(xiàn)
https://github.com/SunJenry/FloatWindow
另可移動view的幾種方法秕噪,不同于懸浮窗的實現(xiàn)方式如下
https://www.cnblogs.com/fuly550871915/p/4985053.html

23.Android 劉海屏全屏適配(沉溺式狀態(tài)欄,隱藏狀態(tài)欄)
問題:遇到隱藏和顯示狀態(tài)欄的時候 劉海屏手機會導致默認情況下厚宰,應用的界面不會繪制到劉海區(qū)域 所以隱藏狀態(tài)欄時候 會出現(xiàn)白層 此可以適配
https://github.com/smarxpan/NotchScreenTool

https://blog.csdn.net/qq_28934205/article/details/107251467

新版高仿微信已經(jīng)開源腌巾,因為基于融云SDK,使用了 Rxjava+Retrofit+MVP+Glide 等新技術(shù)開發(fā)铲觉,代碼結(jié)構(gòu)上可以完全不一樣
https://gitee.com/GitLqr/LQRWeChat
新項目地址:https://gitee.com/GitLqr/lqrwechatrongcloud

平時用到的界面元素可以作為參考
https://github.com/Tamsiree/RxTool

image.png

  1. PictureSelector 圖片選擇澈蝙、旋轉(zhuǎn)、裁剪各種功能
    implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.5.8'

https://github.com/LuckSiege/PictureSelector

image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撵幽,一起剝皮案震驚了整個濱河市灯荧,隨后出現(xiàn)的幾起案子泊柬,更是在濱河造成了極大的恐慌圾笨,老刑警劉巖蘑拯,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件务甥,死亡現(xiàn)場離奇詭異拣度,居然都是意外死亡刻炒,警方通過查閱死者的電腦和手機耙旦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門朋蔫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來测垛,“玉大人捏膨,你說我怎么就攤上這事∈澄辏” “怎么了号涯?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锯七。 經(jīng)常有香客問我链快,道長,這世上最難降的妖魔是什么眉尸? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任域蜗,我火速辦了婚禮巨双,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘霉祸。我一直安慰自己筑累,他們只是感情好,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布丝蹭。 她就那樣靜靜地躺著慢宗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奔穿。 梳的紋絲不亂的頭發(fā)上镜沽,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音贱田,去河邊找鬼缅茉。 笑死,一個胖子當著我的面吹牛湘换,可吹牛的內(nèi)容都是我干的宾舅。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼彩倚,長吁一口氣:“原來是場噩夢啊……” “哼筹我!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帆离,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤蔬蕊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后哥谷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岸夯,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年们妥,在試婚紗的時候發(fā)現(xiàn)自己被綠了猜扮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡监婶,死狀恐怖旅赢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惑惶,我是刑警寧澤煮盼,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站带污,受9級特大地震影響僵控,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鱼冀,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一报破、第九天 我趴在偏房一處隱蔽的房頂上張望悠就。 院中可真熱鬧,春花似錦泛烙、人聲如沸理卑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至帆疟,卻和暖如春鹉究,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背踪宠。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工自赔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柳琢。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓绍妨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親柬脸。 傳聞我的和親對象是個殘疾皇子他去,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容