22个值得收藏的Android开源代码-UI篇
作者:泡在网上的日子
原文地址:
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1020/1808.html
本文介绍了android开发中比较热门的开源代码,这些代码绝大多数可以直接应用到项目中。
1.FileBrowserView
一个强大的文件选择控件。界面比较漂亮,使用也很简单。特点:可以自定义UI;支持复制、剪切、删除、移动文件;可以用在Fragment、ativity、DialogFragment中;支持快速切换目录。

项目地址: https://github.com/psaravan/FileBrowserView
2.MultiItemRowListAdapter
多列效果的ListView,采用重新包装adapter的方式,使你的ListView可以显示成多列,跟普通的ListView相比,只会增加一行代码。

项目地址: https://github.com/umano/MultiItemRowListAdapter
3.android_packages_apps_Focal
一个开源的相机应用源码,由著名的rom制作团队cyanogenmod出品,曾是他们的官方相机应用,如果你想学习相机应用的编写,这是一个很好的学习材料。

项目地址: https://github.com/xplodwild/android_packages_apps_Focal
4.MultiChoiceAdapter
一个实现了ListView多选操作的ListAdapter,他的功能类似于ListView的CHOICE_MODE_MULTIPLE_MODAL
模式,但是还有如下特点:他可以保持选择的数目 ,并且选中的状态下有一个透明的背景色;它支持2.x版本;它可以用到gridview中实现gridview的多选效果。

项目地址: https://github.com/ManuelPeinado/MultiChoiceAdapter
5.JamsMusicPlayer
一个开源的音乐播放器代码。JamsMusicPlayer本来是play store上的一个付费应用,因为google的付费应用必须显示开发者住址的政策而被迫下架。作者最终选择了将这个app开源出来。

项目地址: https://github.com/psaravan/JamsMusicPlayer
6.TextJustify-Android
TextJustify是对安卓TextView控件的格式优化,TextView在显示文字的时候往往在一行的中间部分就跳到了下一行,看起来很杂乱,尤其是在显示英文的时候,TextJustify解决了这个问题。

项目地址: https://github.com/bluejamesbond/TextJustify-Android
7.FloatingActionButton
一个类似Android版Google+浮动功能按钮的控件,可以响应ListView的滚动事件。当列表向上滚动的时候会自动显示,向下滚动的时候自动隐藏。

项目地址: https://github.com/makovkastar/FloatingActionButton
8.CircularProgressDrawable
带圆形进度显示的进度条,如果你想在安卓中实现有趣的动画效果,最直接的办法是使用drawable的子类而不是button或者ImageView.

项目地址: https://github.com/umano/AndroidSlidingUpPanel
11.android-swipelistview
SwipeListView是一个Android List View实现,实现了自定义ListView单元格,可通过滑动来显示扩展面板。

项目地址: https://github.com/47deg/android-swipelistview
12.Satellite Menu最好的仿path菜单
相信很多人都知道path上那个栩栩如生的菜单效果,网上仿照实现的开源代码我至少看到有5种,不过这个是我所知道的最好的,理由有二:1.非常流畅; 2.使用接口非常简单,就像使用自带的控件一样。

项目地址: https://github.com/siyamed/android-satellite-menu
13.Swipecards
一个实现了可滑动卡片风格的开源项目,类似国外很火的交友软件Tinder中的卡片效果,图中的卡片可左右滑动飞出界面,分别表示喜欢和不喜欢。

项目地址: https://github.com/Diolor/Swipecards
14.ExFilePicker
又一个简洁的文件选择器,特点如下:可以选择文件;可以选择目录;可以选择多个文件或者目录;支持按过滤条件选择;支持排序;可以创建新的目录。

项目地址: https://github.com/bartwell/ExFilePicker
15.AndroidResideMenu
具有iOS 7/8 parallax effect 风格的侧边菜单,类似于最新版qq的菜单效果。ReisdeMenu 创意灵感来自于Dribbble1还有2,而这个是Android版的ResideMenu,在视觉效果上部分参考了iOS版的RESideMenu.

项目地址: https://github.com/SpecialCyCi/AndroidResideMenu
16.android_effects学习opengl es的好代码
一个用opengl es实现了各种逼真3d效果的代码示例程序,非常值得学习。

项目地址: https://github.com/harism/android_effects
17.NoNonsense Notes记事与便签app
一个记事本与任务计划的app,适配和手机和平板,还可以使用google账户将数据保存到云端,动画效果做的不错 ,典型的欧美人的风格。

项目地址: https://github.com/spacecowboy/NotePad
18.CalendarListview
CalendarListview 提供了在日历视图中选择一个日期的简单方法。

项目地址: https://github.com/traex/CalendarListview
19.AndroidStaggeredGrid瀑布流
注意跟StaggeredGridView区别,他的实现原理更类似于PinterestLikeAdapterView。AndroidStaggeredGrid的目的是为了满足Etsy app的需求(估计是作者自己开发的一个app)。有个很不错的特点是,当横竖屏切换时,改控件可以自己定位上次浏览的位置。和ListView一样,支持添加header 和 footer。个人觉得这个才是最好的。

项目地址: https://github.com/etsy/AndroidStaggeredGrid
20.FlipView目前最流畅的翻转动画效果
该库使你通过简简单单几行代码就能实现类似flipboard的翻转效果。比起以前看到的那个android-flip库,这个要流畅很多。

项目地址: https://github.com/emilsjolander/android-FlipView
21.WaveView
一个实现了水波纹动态效果的自定义view,能够改变水的高度,此特性使其可以作为呈现加载效果的progressbar ,可自定义背景色以及进度等 。

项目地址: https://github.com/john990/WaveView
22.Android-Week-View
Android Week View 是一个类似于原生日历应用中日视图和周视图的开发库,支持自定义style。
