這幾天剛做完一個(gè)項(xiàng)目。馏锡。有點(diǎn)空余時(shí)間,就想著吧這一兩年做的項(xiàng)目中的UI界面用到的一些庫(kù)整理一下伟端。后來想了一下杯道,既然要整理,就把網(wǎng)上常用的?AndroidUI界面的主流開源庫(kù)一起整理一下责蝠,方便查看党巾。
這次整理包涵一些常規(guī)的按鈕、Switch霜医、進(jìn)度條等控件都是通用控件昧港,因此本文將其囊括,但一些很炫酷但不通用的控件除外支子。UI不僅包括控件创肥,還包括效果、動(dòng)畫甚至是一些UI輔助類庫(kù)等值朋。
? ? 1叹侄、(https://github.com/Trinea/android-open-project)
? ? 2、(https://github.com/wasabeef/awesome-android-ui)
? ? 3昨登、(http://www.reibang.com/p/47a4a7b99364)
? ? 本文的取材大部分來自這三篇文章趾代,在此感謝文章作者的辛勤付出。更要感謝的是那些無私奉獻(xiàn)代碼的Opener丰辣。
主流UI開源庫(kù)整理
? ? 一下是針對(duì)一些熱門 控件撒强、開源項(xiàng)目做出一些介紹禽捆,有些項(xiàng)目效果看起來也很酷,但通用性很差飘哨,顯得有些雞肋胚想,就靠后排列了,甚至介紹都免了芽隆。
https://github.com/hoang8f/android-flat-button
很適合做扁平化浊服、純色的按鈕,支持陰影胚吁。
https://github.com/Bearded-Hen/Android-Bootstrap
BootStrap風(fēng)格的按鈕牙躺,做過前端的同學(xué)應(yīng)該都知道。
https://github.com/dmytrodanylyk/circular-progress-button
可以顯示進(jìn)度的按鈕腕扶,適用于點(diǎn)擊按鈕后執(zhí)行一個(gè)長(zhǎng)時(shí)間操作孽拷,此時(shí)可直接在按鈕上顯示進(jìn)度。
https://github.com/dmytrodanylyk/android-process-button
可以顯示進(jìn)度的按鈕半抱。同上乓搬。
https://github.com/kyleduo/SwitchButton
各式各樣風(fēng)格的Switch,總有一個(gè)適合你代虾。
https://github.com/Nightonke/JellyToggleButton
BootStrap帶有彈性效果的Switch进肯。
https://github.com/rengwuxian/MaterialEditText
Material Design風(fēng)格的EditText。
https://github.com/mabbas007/TagsEditText
以標(biāo)簽形式展示的EditText棉磨。
https://github.com/g707175425/CloudEditText
以標(biāo)簽形式展示的EditText江掩。
https://github.com/vekexasia/android-edittext-validator
帶錯(cuò)誤校驗(yàn)和提示的EditText。
https://github.com/qinci/AndroidEdit
為EditText提供撤銷乘瓤、反撤銷功能环形。
https://github.com/Manabu-GT/ExpandableTextView
可折疊的TextView,類似朋友圈查看全文衙傀。
https://github.com/grantland/android-autofittextview
自適應(yīng)的TextView抬吟,在寬高固定的情況下,文字越多统抬,字體越小火本。
https://github.com/rockerhieu/emojicon
支持emoji表情的TextView。
https://github.com/hanks-zyh/HTextView
支持很多文本特效的TextView聪建,很贊钙畔。
https://github.com/DreaminginCodeZH/MaterialProgressBar
Material Design風(fēng)格的ProgressBar,支持多種效果金麸。
https://github.com/hongyangAndroid/Android-ProgressBarWidthNumber
鴻洋大牛的作品擎析,值得擁有。
https://github.com/daimajia/NumberProgressBar
代碼家大牛的作品挥下。
https://github.com/lopspower/CircularProgressBar
很實(shí)用的進(jìn)度條揍魂,雖然只有一種效果桨醋。
https://github.com/dinuscxj/LoadingDrawable
各式各樣創(chuàng)意、風(fēng)格奇特的進(jìn)度條现斋。
https://github.com/akexorcist/Android-RoundCornerProgressBar
一個(gè)圓乎乎的喜最、多彩的進(jìn)度條。
https://github.com/AnderWeb/discreteSeekBar
拖拽時(shí)可顯示氣泡提示的SeekBar步责。
https://github.com/oli107/material-range-bar
Material Design風(fēng)格的、支持區(qū)間選取的SeekBar禀苦。
https://github.com/DreaminginCodeZH/MaterialRatingBar
Material Design風(fēng)格的RatingBar蔓肯。
RecyclerView?
這個(gè)就不用解釋了蔗包,使用請(qǐng)參考Android?RecyclerView 使用完全解析 體驗(yàn)藝術(shù)般的控件。
對(duì)于列表慧邮、網(wǎng)格的拖拽排序调限、側(cè)滑刪除,推薦使用RecyclerView來做误澳,可參考https://github.com/YoKeyword/ItemTouchHelperDemo耻矮。
https://github.com/H07000223/FlycoDialog_Master
一套強(qiáng)大的Dialog集合忆谓,提供了類似BottomSheet的效果裆装。
https://github.com/afollestad/material-dialogs
功能強(qiáng)大、支持各式各樣風(fēng)格的Dialog倡缠。
https://github.com/drakeet/MaterialDialog
一套Material Design風(fēng)格的對(duì)話框哨免。
https://github.com/orhanobut/dialogplus
實(shí)現(xiàn)對(duì)話框的另一種選擇。
https://github.com/philliphsu/BottomSheetPickers
非常不錯(cuò)的日歷琢唾、時(shí)間選擇控件。
https://github.com/vikramkakkar/SublimePicker
清爽盾饮、漂亮的日歷采桃。
https://github.com/wdullaer/MaterialDateTimePicker
Material Design風(fēng)格的日歷、時(shí)間選擇器丘损。
https://github.com/borax12/MaterialDateRangePicker
效果和MaterialDateTimePicker幾乎一樣芍碧,不知道是不是抄的,提供了日歷号俐、時(shí)間區(qū)間的選擇泌豆。
https://github.com/traex/CalendarListview
基于ListView,效果類似原生android的日歷吏饿。
https://github.com/square/android-times-square
來自square的日歷選擇器踪危。
https://github.com/dongjunkun/DropDownMenu
一個(gè)實(shí)用的多條件篩選菜單蔬浙。
https://github.com/HeZaiJin/SlantedTextView
用TextView實(shí)現(xiàn)的標(biāo)簽效果贞远,值得一試畴博。
https://github.com/stefanjauker/BadgeView
給特定的View添加角標(biāo)效果。
https://github.com/leolin310148/ShortcutBadger
用來生成帶有角標(biāo)的圖標(biāo)蓝仲。
https://github.com/xcltapestry/XCL-Charts
支持?jǐn)?shù)十種圖表俱病,總有一個(gè)適合你。
https://github.com/lecho/hellocharts-android
功能強(qiáng)大袱结、支持各式各樣的圖表控件亮隙。
https://github.com/PhilJay/MPAndroidChart
強(qiáng)大、易于使用的圖表控件垢夹。
https://github.com/diogobernardino/WilliamChart
https://github.com/wasabeef/richeditor-android
功能強(qiáng)大的富文本編輯器。
https://github.com/mthli/Knife
輕量級(jí)的富文本編輯器果元。
https://github.com/Thereisnospon/CodeView
強(qiáng)大的代碼高亮控件促王,支持多種語言。
https://github.com/chrisbanes/PhotoView
強(qiáng)大的而晒、人盡皆知的圖片瀏覽控件蝇狼。
https://github.com/hdodenhof/CircleImageView
用來顯示圓角圖片的ImageView。
https://github.com/siyamed/android-shape-imageview
將圖片按照自定義的形狀顯示倡怎。
https://github.com/amulyakhare/TextDrawable
以Drawable的形式顯示字符题翰,類似平時(shí)見到的“字符”頭像。
https://github.com/chengdazhi/StyleImageView
能實(shí)現(xiàn)簡(jiǎn)單的圖像處理的ImageView诈胜。
https://github.com/BelooS/ChipsLayoutManager
基于RecyclerView實(shí)現(xiàn)的標(biāo)簽控件豹障。
https://github.com/hongyangAndroid/FlowLayout
鴻洋大牛的作品,支持單選焦匈、多選血公。
https://github.com/amlcurran/ShowcaseView
老牌的引導(dǎo)高亮庫(kù)缓熟。
https://github.com/hongyangAndroid/Highlight
一個(gè)引導(dǎo)高亮的庫(kù)累魔,來自鴻洋。
https://github.com/jaydenxiao2016/HighLightGuideView
又一個(gè)引導(dǎo)高亮庫(kù)够滑。
https://github.com/matrixxun/ProductTour
非晨研矗酷的引導(dǎo)頁效果。
https://github.com/rahulrj/YahooNewsOnboarding
https://github.com/sacot41/SCViewPager
https://github.com/paolorotolo/AppIntro
一個(gè)比較炫酷的引導(dǎo)頁框架彰触。
https://github.com/beworker/pinned-section-listview
固定Header的ListView。
https://github.com/emilsjolander/StickyListHeaders
老牌的、固定Header的ListView分蓖。
https://github.com/timehop/sticky-headers-recyclerview
固定Header的RecyclerView尔艇。支持橫向、縱向么鹤。
https://github.com/futuresimple/android-floating-action-button
大名鼎鼎的fab。
https://github.com/linroid/FilterMenu
一個(gè)轉(zhuǎn)盤式菜單蒸甜。
https://github.com/ShamylZakariya/FlyoutMenus
一個(gè)很酷的彈出菜單棠耕。
https://github.com/ogaclejapan/ArcLayout
弧形菜單,支持多種效果柠新。
https://github.com/oguzbilgener/CircularFloatingActionMenu
炫酷的弧形菜單窍荧,支持自定義動(dòng)畫。
https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh
廖祜秋大牛的下拉刷新框架搅荞,支持對(duì)任意View做下拉刷新红氯,也僅限于做下拉刷新框咙。
SwipeRefreshLayout?
官方的、Material Design風(fēng)格的下拉刷新框架痢甘。
https://github.com/chrisbanes/Android-PullToRefresh
老牌的下拉刷新框架喇嘱,已廢棄。
那些只能對(duì)特定View做下拉刷新塞栅、上拉加載的非通用框架就不貼了者铜。
https://github.com/saiwu-bigkoo/Android-ConvenientBanner
基于ViewPager的廣告輪播控件放椰,支持循環(huán)滾動(dòng)作烟。
https://github.com/H07000223/FlycoBanner_Master
又一個(gè)廣告輪播控件。
https://github.com/sfsheng0322/MarqueeView
基于ViewFlipper的垂直公告控件砾医。
https://github.com/ikew0ng/SwipeBackLayout
老牌的滑動(dòng)返回框架拿撩,需要結(jié)合透明主題,Activity不宜過多如蚜,否則卡頓嚴(yán)重压恒。
https://github.com/YoKeyword/SwipeBackFragment
支持滑動(dòng)返回的Fragment。
https://github.com/XBeats/and_swipeback
另一個(gè)滑動(dòng)返回框架错邦,無需設(shè)置透明主題探赫。
https://github.com/hackware1993/MagicIndicator
強(qiáng)大撬呢、可定制伦吠、易擴(kuò)展的 ViewPager 指示器框架。
https://github.com/H07000223/FlycoTabLayout
https://github.com/ogaclejapan/SmartTabLayout
https://github.com/romandanylyk/PageIndicatorView
支持多種小圈小點(diǎn)的指示器。
https://github.com/ongakuer/CircleIndicator
TabLayout?
總所周知的Tab框架讨勤,唯一的優(yōu)勢(shì)是來自官方箭跳。
https://github.com/wasabeef/recyclerview-animators
一系列RecyclerView Item動(dòng)畫合集。
https://github.com/nhaarman/ListViewAnimations
一系列ListView Item動(dòng)畫合集潭千。已廢棄谱姓,推薦使用RecyclerView。
https://github.com/daimajia/AndroidViewAnimations
老牌的View動(dòng)畫合集刨晴。來自代碼家
https://github.com/gabrielemariotti/RecyclerViewItemAnimators
又一個(gè)ReyclerView Item動(dòng)畫合集屉来。
https://github.com/lgvalle/Material-Animations
一系列Material Design風(fēng)格的動(dòng)畫合集。
https://github.com/jfeinstein10/JazzyViewPager
一系列的PageTransformer合集狈癞。
https://github.com/JakeWharton/NineOldAndroids
動(dòng)畫兼容庫(kù)茄靠,用來在2.3及以下系統(tǒng)上使用屬性動(dòng)畫,現(xiàn)已廢棄蝶桶。
DrawerLayout?
官方的側(cè)滑菜單慨绳,功能強(qiáng)大。
https://github.com/jfeinstein10/SlidingMenu
老牌的側(cè)滑菜單真竖。
https://github.com/daimajia/AndroidSwipeLayout
一般用來實(shí)現(xiàn)View內(nèi)部的側(cè)滑脐雪。
ItemTouchHelper?
用來實(shí)現(xiàn)RecyclerView側(cè)滑刪除、拖拽排序的工具類恢共。
https://github.com/rubensousa/RecyclerViewSnap
讓RecyclerView具備類似ViewPager的效果战秋。
ViewDragHelper?
處理View拖拽的神器,使用參考Android ViewDragHelper完全解析 自定義ViewGroup神器讨韭。
Scroller?
用于實(shí)現(xiàn)View的平滑滾動(dòng)脂信,使用參考Android Scroller完全解析,關(guān)于Scroller你所需知道的一切透硝。