(4.2.25)22个值得收藏的Android开源代码-UI篇
2016-03-13 12:06
543 查看
文/程序员之家(简书作者)
原文链接:http://www.jianshu.com/p/b56cab2cf4a8
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
本文介绍了android开发者中比较热门的开源代码,这些代码绝大多数可以直接应用到项目中。
![](http://upload-images.jianshu.io/upload_images/675733-ab9feb8ec401be35.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/psaravan/FileBrowserView
![](http://upload-images.jianshu.io/upload_images/675733-4312390bbaaaa8bc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/umano/MultiItemRowListAdapter
![](http://upload-images.jianshu.io/upload_images/675733-56fc686fe7951578.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/xplodwild/android_packages_apps_Focal
![](http://upload-images.jianshu.io/upload_images/675733-43c7e7dd2a024373.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/ManuelPeinado/MultiChoiceAdapter
![](http://upload-images.jianshu.io/upload_images/675733-d0c8a1d509c10121.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/psaravan/JamsMusicPlayer
![](http://upload-images.jianshu.io/upload_images/675733-8ab712aa110d0a0e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/bluejamesbond/TextJustify-Android
![](http://upload-images.jianshu.io/upload_images/675733-452659992e72d6f7.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/makovkastar/FloatingActionButton
![](https://github.com/Sefford/CircularProgressDrawable/raw/master/overshoot.gif)
项目地址: https://github.com/Sefford/CircularProgressDrawable
![](https://github.com/BlueMor/DragLayout/raw/master/screenshots/123.gif)
项目地址: https://github.com/BlueMor/DragLayout
![](http://upload-images.jianshu.io/upload_images/675733-ddfd582c1e80c42f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/umano/AndroidSlidingUpPanel
![](http://upload-images.jianshu.io/upload_images/675733-5520b57e5428721c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/47deg/android-swipelistview
![](http://upload-images.jianshu.io/upload_images/675733-75f0e4b6d84dc168.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/siyamed/android-satellite-menu
![](http://upload-images.jianshu.io/upload_images/675733-39f2d94cc23c176c.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/Diolor/Swipecards
![](http://upload-images.jianshu.io/upload_images/675733-ebbdb3486572e0a7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/bartwell/ExFilePicker
![](http://upload-images.jianshu.io/upload_images/675733-4271cb23f84e5a35.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/SpecialCyCi/AndroidResideMenu
![](http://upload-images.jianshu.io/upload_images/675733-42d857b40b33e4db.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/harism/android_effects
![](http://upload-images.jianshu.io/upload_images/675733-ebf7fb3f555c3221.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/spacecowboy/NotePad
![](http://upload-images.jianshu.io/upload_images/675733-e7812df5d3eadfe6.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/traex/CalendarListview
![](http://upload-images.jianshu.io/upload_images/675733-6927284484fc9291.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/etsy/AndroidStaggeredGrid
![](http://upload-images.jianshu.io/upload_images/675733-139d405f73f63e63.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/emilsjolander/android-FlipView
![](http://upload-images.jianshu.io/upload_images/675733-872e6e9b69bfd0f0.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/john990/WaveView
![](http://upload-images.jianshu.io/upload_images/675733-5e37f790313dc242.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/alamkanak/Android-Week-View
原文链接:http://www.jianshu.com/p/b56cab2cf4a8
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
本文介绍了android开发者中比较热门的开源代码,这些代码绝大多数可以直接应用到项目中。
1.FileBrowserView
一个强大的文件选择控件。界面比较漂亮,使用也很简单。特点:可以自定义UI;支持复制、剪切、删除、移动文件;可以用在Fragment、ativity、DialogFragment中;支持快速切换目录。![](http://upload-images.jianshu.io/upload_images/675733-ab9feb8ec401be35.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/psaravan/FileBrowserView
2.MultiItemRowListAdapter
多列效果的ListView,采用重新包装adapter的方式,使你的ListView可以显示成多列,跟普通的ListView相比,只会增加一行代码。![](http://upload-images.jianshu.io/upload_images/675733-4312390bbaaaa8bc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/umano/MultiItemRowListAdapter
3.android_packages_apps_Focal
一个开源的相机应用源码,由著名的rom制作团队cyanogenmod出品,曾是他们的官方相机应用,如果你想学习相机应用的编写,这是一个很好的学习材料。![](http://upload-images.jianshu.io/upload_images/675733-56fc686fe7951578.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/xplodwild/android_packages_apps_Focal
4.MultiChoiceAdapter
一个实现了ListView多选操作的ListAdapter,他的功能类似于ListView的CHOICE_MODE_MULTIPLE_MODAL模式,但是还有如下特点:他可以保持选择的数目 ,并且选中的状态下有一个透明的背景色;它支持2.x版本;它可以用到gridview中实现gridview的多选效果。
![](http://upload-images.jianshu.io/upload_images/675733-43c7e7dd2a024373.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/ManuelPeinado/MultiChoiceAdapter
5.JamsMusicPlayer
一个开源的音乐播放器代码。JamsMusicPlayer本来是play store上的一个付费应用,因为google的付费应用必须显示开发者住址的政策而被迫下架。作者最终选择了将这个app开源出来。![](http://upload-images.jianshu.io/upload_images/675733-d0c8a1d509c10121.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/psaravan/JamsMusicPlayer
6.TextJustify-Android
TextJustify是对安卓TextView控件的格式优化,TextView在显示文字的时候往往在一行的中间部分就跳到了下一行,看起来很杂乱,尤其是在显示英文的时候,TextJustify解决了这个问题。![](http://upload-images.jianshu.io/upload_images/675733-8ab712aa110d0a0e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/bluejamesbond/TextJustify-Android
7.FloatingActionButton
一个类似Android版Google+浮动功能按钮的控件,可以响应ListView的滚动事件。当列表向上滚动的时候会自动显示,向下滚动的时候自动隐藏。![](http://upload-images.jianshu.io/upload_images/675733-452659992e72d6f7.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/makovkastar/FloatingActionButton
8.CircularProgressDrawable
带圆形进度显示的进度条,如果你想在安卓中实现有趣的动画效果,最直接的办法是使用drawable的子类而不是button或者ImageView.![](https://github.com/Sefford/CircularProgressDrawable/raw/master/overshoot.gif)
项目地址: https://github.com/Sefford/CircularProgressDrawable
9.DragLayout[QQ5.0侧滑效果]
使用support.v4包下的ViewDragHelper实现QQ5.0侧滑效果。![](https://github.com/BlueMor/DragLayout/raw/master/screenshots/123.gif)
项目地址: https://github.com/BlueMor/DragLayout
10.AndroidSlidingUpPanel
一个能够向上滑动的时候往上飞出一个显示区域的控件,类似于play music中的效果。该控件在主界面中有一个底部触发区域,该区域点击的时候被隐藏在下方的内容将网上漂移到顶部,直到被隐藏的内容完全挡住原来的布局。当被隐藏区域完全显示,这时再次点击触发区域(或者是通过下滑的手势)将恢复到最初的状态。![](http://upload-images.jianshu.io/upload_images/675733-ddfd582c1e80c42f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/umano/AndroidSlidingUpPanel
11.android-swipelistview
SwipeListView是一个Android List View实现,实现了自定义ListView单元格,可通过滑动来显示扩展面板。![](http://upload-images.jianshu.io/upload_images/675733-5520b57e5428721c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/47deg/android-swipelistview
12.Satellite Menu最好的仿path菜单
相信很多人都知道path上那个栩栩如生的菜单效果,网上仿照实现的开源代码我至少看到有5种,不过这个是我所知道的最好的,理由有二:1.非常流畅; 2.使用接口非常简单,就像使用自带的控件一样。![](http://upload-images.jianshu.io/upload_images/675733-75f0e4b6d84dc168.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/siyamed/android-satellite-menu
13.Swipecards
一个实现了可滑动卡片风格的开源项目,类似国外很火的交友软件Tinder中的卡片效果,图中的卡片可左右滑动飞出界面,分别表示喜欢和不喜欢。![](http://upload-images.jianshu.io/upload_images/675733-39f2d94cc23c176c.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/Diolor/Swipecards
14.ExFilePicker
又一个简洁的文件选择器,特点如下:可以选择文件;可以选择目录;可以选择多个文件或者目录;支持按过滤条件选择;支持排序;可以创建新的目录。![](http://upload-images.jianshu.io/upload_images/675733-ebbdb3486572e0a7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/bartwell/ExFilePicker
15.AndroidResideMenu
具有iOS 7/8 parallax effect 风格的侧边菜单,类似于最新版qq的菜单效果。ReisdeMenu 创意灵感来自于Dribbble1还有2,而这个是Android版的ResideMenu,在视觉效果上部分参考了iOS版的RESideMenu.![](http://upload-images.jianshu.io/upload_images/675733-4271cb23f84e5a35.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/SpecialCyCi/AndroidResideMenu
16.android_effects学习opengl es的好代码
一个用opengl es实现了各种逼真3d效果的代码示例程序,非常值得学习。![](http://upload-images.jianshu.io/upload_images/675733-42d857b40b33e4db.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/harism/android_effects
17.NoNonsense Notes记事与便签app
一个记事本与任务计划的app,适配和手机和平板,还可以使用google账户将数据保存到云端,动画效果做的不错 ,典型的欧美人的风格。![](http://upload-images.jianshu.io/upload_images/675733-ebf7fb3f555c3221.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/spacecowboy/NotePad
18.CalendarListview
CalendarListview 提供了在日历视图中选择一个日期的简单方法。![](http://upload-images.jianshu.io/upload_images/675733-e7812df5d3eadfe6.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/traex/CalendarListview
19.AndroidStaggeredGrid瀑布流
注意跟StaggeredGridView区别,他的实现原理更类似于PinterestLikeAdapterView。AndroidStaggeredGrid的目的是为了满足Etsy app的需求(估计是作者自己开发的一个app)。有个很不错的特点是,当横竖屏切换时,改控件可以自己定位上次浏览的位置。和ListView一样,支持添加header 和 footer。个人觉得这个才是最好的。![](http://upload-images.jianshu.io/upload_images/675733-6927284484fc9291.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/etsy/AndroidStaggeredGrid
20.FlipView目前最流畅的翻转动画效果
该库使你通过简简单单几行代码就能实现类似flipboard的翻转效果。比起以前看到的那个android-flip库,这个要流畅很多。![](http://upload-images.jianshu.io/upload_images/675733-139d405f73f63e63.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/emilsjolander/android-FlipView
21.WaveView
一个实现了水波纹动态效果的自定义view,能够改变水的高度,此特性使其可以作为呈现加载效果的progressbar ,可自定义背景色以及进度等 。![](http://upload-images.jianshu.io/upload_images/675733-872e6e9b69bfd0f0.gif?imageMogr2/auto-orient/strip)
项目地址: https://github.com/john990/WaveView
22.Android-Week-View
Android Week View 是一个类似于原生日历应用中日视图和周视图的开发库,支持自定义style。![](http://upload-images.jianshu.io/upload_images/675733-5e37f790313dc242.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目地址: https://github.com/alamkanak/Android-Week-View
相关文章推荐
- 关于Android的Build类——获取Android手机设备各种信息
- UIScrollView、UIPageControl、NSTimer
- JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedur
- 通过代理更新UITableHeaderFooterView某一行数据时,如何获取更新哪一行的
- C#中String与StringBuilder的区别
- 设置为我们的UITableViewFooterHeaderView组标题的高度
- 为我们的UITableViewFooterHeaderView添加自定义View的布局
- 为我们的UITableViewFooterHeaderView设置某一行或所有的行高度
- 设置UITableViewHeaderFooterView的背景颜色
- 自定义UITableViewFooterHeaderView时调用自身的self.bounds为0的情况
- UITableViewHeaderFooterView当中的方法
- android studio authentication required解决方案
- PB 导入和导出Excel
- 改进后的快速排序--ImprovedQuickSort
- UIControl 详解
- Youth by Samuel Ullman
- UISlider、UIStepper、UISegmentControl、UISwitch、UIProgressView、UIActivityIndicatorView
- android ui
- Xcode build解密
- easyui 给文本框 checkbox赋值问题