22个值得收藏的Android开源代码-UI篇
FileBrowserView
一个强大的文件选择控件。界面比较漂亮,使用也很简单。特点:可以自定义UI;支持复制、剪切、删除、移动文件;可以用在Fragment、ativity、DialogFragment中;支持快速切换目录。
项目地址: https://github.com/psaravan/FileBrowserView
MultiItemRowListAdapter
多列效果的ListView,采用重新包装adapter的方式,使你的ListView可以显示成多列,跟普通的ListView相比,只会增加一行代码。
项目地址: https://github.com/umano/MultiItemRowListAdapter
android_packages_apps_Focal
一个开源的相机应用源码,由著名的rom制作团队cyanogenmod出品,曾是他们的官方相机应用,如果你想学习相机应用的编写,这是一个很好的学习材料。
项目地址: https://github.com/xplodwild/android_packages_apps_Focal
MultiChoiceAdapter
一个实现了ListView多选操作的ListAdapter,他的功能类似于ListView的CHOICE_MODE_MULTIPLE_MODAL
模式,但是还有如下特点:他可以保持选择的数目 ,并且选中的状态下有一个透明的背景色;它支持2.x版本;它可以用到gridview中实现gridview的多选效果。
项目地址: https://github.com/ManuelPeinado/MultiChoiceAdapter
JamsMusicPlayer
一个开源的音乐播放器代码。JamsMusicPlayer本来是play store上的一个付费应用,因为google的付费应用必须显示开发者住址的政策而被迫下架。作者最终选择了将这个app开源出来。
项目地址: https://github.com/psaravan/JamsMusicPlayer
TextJustify-Android
TextJustify是对安卓TextView控件的格式优化,TextView在显示文字的时候往往在一行的中间部分就跳到了下一行,看起来很杂乱,尤其是在显示英文的时候,TextJustify解决了这个问题。
项目地址: https://github.com/bluejamesbond/TextJustify-Android
FloatingActionButton
一个类似Android版Google+浮动功能按钮的控件,可以响应ListView的滚动事件。当列表向上滚动的时候会自动显示,向下滚动的时候自动隐藏。
项目地址: https://github.com/makovkastar/FloatingActionButton
CircularProgressDrawable
带圆形进度显示的进度条,如果你想在安卓中实现有趣的动画效果,最直接的办法是使用drawable的子类而不是button或者ImageView.
项目地址: https://github.com/Sefford/CircularProgressDrawable
DragLayout[QQ5.0侧滑效果]
使用support.v4包下的ViewDragHelper实现QQ5.0侧滑效果。
项目地址: https://github.com/BlueMor/DragLayout
AndroidSlidingUpPanel
一个能够向上滑动的时候往上飞出一个显示区域的控件,类似于play music中的效果。该控件在主界面中有一个底部触发区域,该区域点击的时候被隐藏在下方的内容将网上漂移到顶部,直到被隐藏的内容完全挡住原来的布局。当被隐藏区域完全显示,这时再次点击触发区域(或者是通过下滑的手势)将恢复到最初的状态。
项目地址: https://github.com/umano/AndroidSlidingUpPanel
android-swipelistview
SwipeListView是一个Android List View实现,实现了自定义ListView单元格,可通过滑动来显示扩展面板。
项目地址: https://github.com/47deg/android-swipelistview
Satellite Menu最好的仿path菜单
相信很多人都知道path上那个栩栩如生的菜单效果,网上仿照实现的开源代码我至少看到有5种,不过这个是我所知道的最好的,理由有2:1非常流畅; 2使用接口非常简单,就像使用自带的控件一样。
项目地址: https://github.com/siyamed/android-satellite-menu
Swipecards
一个实现了可滑动卡片风格的开源项目,类似国外很火的交友软件Tinder中的卡片效果,图中的卡片可左右滑动飞出界面,分别表示喜欢和不喜欢。
项目地址: https://github.com/Diolor/Swipecards
ExFilePicker
又一个简洁的文件选择器,特点如下:可以选择文件;可以选择目录;可以选择多个文件或者目录;支持按过滤条件选择;支持排序;可以创建新的目录。
项目地址: https://github.com/bartwell/ExFilePicker
AndroidResideMenu
具有iOS 7/8 parallax effect 风格的侧边菜单,类似于最新版qq的菜单效果。ReisdeMenu 创意灵感来自于Dribbble1还有2,而这个是Android版的ResideMenu,在视觉效果上部分参考了iOS版的RESideMenu.
项目地址: https://github.com/SpecialCyCi/AndroidResideMenu
android_effects学习opengl es的好代码
一个用opengl es实现了各种逼真3d效果的代码示例程序,非常值得学习。
项目地址: https://github.com/harism/android_effects
NoNonsense Notes记事与便签app
一个记事本与任务计划的app,适配和手机和平板,还可以使用google账户将数据保存到云端,动画效果做的不错 ,典型的欧美人的风格。
CalendarListview
CalendarListview 提供了在日历视图中选择一个日期的简单方法。
项目地址: https://github.com/traex/CalendarListview
AndroidStaggeredGrid瀑布流
注意跟StaggeredGridView区别,他的实现原理更类似于PinterestLikeAdapterView。AndroidStaggeredGrid的目的是为了满足Etsy app的需求(估计是作者自己开发的一个app)。有个很不错的特点是,当横竖屏切换时,改控件可以自己定位上次浏览的位置。和ListView一样,支持添加header 和 footer。个人觉得这个才是最好的。
项目地址: https://github.com/etsy/AndroidStaggeredGrid
FlipView目前最流畅的翻转动画效果
该库使你通过简简单单几行代码就能实现类似flipboard的翻转效果。比起以前看到的那个android-flip库,这个要流畅很多。
项目地址: https://github.com/emilsjolander/android-FlipView
WaveView
一个实现了水波纹动态效果的自定义view,能够改变水的高度,此特性使其可以作为呈现加载效果的progressbar ,可自定义背景色以及进度等 。
项目地址: https://github.com/john990/WaveView
Android-Week-View
Android Week View 是一个类似于原生日历应用中日视图和周视图的开发库,支持自定义style。