本文介绍了android开发者中比较热门的开源代码,这些代码绝大多数可以直接应用到项目中。

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。

项目地址: https://github.com/alamkanak/Android-Week-View

文章源自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1020/1808.html

22个值得收藏的Android开源代码-UI篇的更多相关文章

  1. 22个值得收藏的android开源码-UI篇

    本文介绍了android开发人员中比較热门的开源码,这些代码绝大多数能够直接应用到项目中. FileBrowserView 一个强大的文件选择控件.界面比較美丽,使用也非常easy. 特点:能够自己定 ...

  2. 22个值得收藏的Android开源代码——cool

    转自http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1020/1808.html 本文介绍了android开发者中比较热门的开源代 ...

  3. material design 的android开源代码整理

    material design 的android开源代码整理 1 android (material design 效果的代码库) 地址请点击:MaterialDesignLibrary 效果: 2 ...

  4. android开源代码

    Android开源项目--分类汇总 转自:https://github.com/Trinea/android-open-project Android开源项目第一篇——个性化控件(View)篇 包括L ...

  5. [转]Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...

  6. Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇——开发工具库篇,**主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容 ...

  7. Android开源项目第一篇——个性化控件(View)篇

    本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Ga ...

  8. Github上不错的Android开源代码(一)

    总有一些朋友很热心的整理一些好的资料,在收集之后,可以用作阅读.学习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) 为了防止以上链接失效,以及部分内容丢 ...

  9. 值得推荐的android开源框架

    1.volley 项目地址https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduling) ...

随机推荐

  1. leetcode 142. Linked List Cycle II ----- java

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note ...

  2. JavaWeb学习记录(八)——servlet获取配置信息

    jdbc.properties内容如下: jdbcUrl=jdbc\:mysql\://localhost\:3306/animaluser=rootpass=root servlet获取资源信息代码 ...

  3. resin的基本操作

    1.什么是resin?     resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快.Resin本身包含了一个支持HTTP/1.1的WEB服务器.虽然它可 ...

  4. Linux 的多线程编程的高效开发经验(转)

    http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/ 背景 Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多 ...

  5. git checkout 和 git checkout --merge <branch_name>使用

    一.git checkout //查看当前分支$ git branch master *t2 testing //checkout会覆盖当前工作区文件和覆盖暂存区内容,所以发现分支有未提交的警告,执行 ...

  6. JVM ,JIT ,GC RUNTIME 解析

    Java Class字节码知识点回顾 https://yq.aliyun.com/articles/2358?spm=5176.8067842.tagmain.105.fQdvH3 JVM Class ...

  7. Redis 源码解析

    http://programmers.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness- ...

  8. Oracle数据库—— 事务处理与并发控制

    一.涉及内容 1.理解事务的概念和几个特性. 2.熟练掌握事务管理命令的使用. 3.理解并发操作的概念和数据库锁的类型. 二.具体操作 (12.5 实验) 1. 分析以下代码,说出代码中的哪些部分体现 ...

  9. Oracle数据库—— 存储过程与函数的创建

    一.涉及内容 1.掌握存储过程与函数的概念. 2.能够熟练创建和调用存储过程与函数. 二.具体操作 1.创建存储过程,根据职工编号删除scott.emp表中的相关记录. (1)以scott 用户连接数 ...

  10. Java 异常处理机制和集合框架

    一.实验目的 掌握面向对象程序设计技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境 三.实验内容 1.Java异常处理机制涉及5个关键字:t ...