终端的开发,UI的重要性不言而喻,如何快速开发出优雅漂亮的UI,android的一些开源UI组件,提供了很好的参考。
参考:
oschina Android UI组件
最火的Android开源项目(一)
最火的Android开源项目(二)
最火的Android开源项目(完结篇)
1. ActionBarSherlock
在3.0之前使用ActionBar,ActionBarSherlock提供了很好的兼容。ActionBarSherlock 是Android compatibility library 的一个扩展,ActionBarSherlock 被设计成通过一个API就能够很方便使用所有版本的Android操作栏的设计模式.
对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局。能够让开发者轻松开发一款带动作栏(Action bar)的应用,并且适用于Android 2.x及其以上所有版本。
这个是Android牛人开发的一个开源组件,关注 JakeWharton,你会有更多惊喜。
12345678910111213141516171819202122232425262728 |
import
com.android.volley.toolbox.HurlStack
;
import
com.squareup.okhttp.OkHttpClient
;
import
java.io.IOException
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
/**
* An {@link com.android.volley.toolbox.HttpStack HttpStack} implementation which
* uses OkHttp as its transport.
*/
public
class
OkHttpStack
extends
HurlStack
{
private
final
OkHttpClient
client
;
public
OkHttpStack
()
{
this
(
new
OkHttpClient
());
}
public
OkHttpStack
(
OkHttpClient
client
)
{
if
(
client
==
null
)
{
throw
new
NullPointerException
(
"Client must not be null."
);
}
this
.
client
=
client
;
}
@Override
protected
HttpURLConnection
createConnection
(
URL
url
)
throws
IOException
{
return
client
.
open
(
url
);
}
}
|
2. Android-ViewPagerIndicator
这个又是JakeWharton的杰作,说过了关注他,会有惊喜。
ViewPagerIndicator是扩展了support库中ViewPager的用法。
Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock. Originally based on Patrik Åkerfeldt's ViewFlow
3. Android PullToRefresh
该项目为 Android 应用提供一个向下滑动即刷新列表的功能。这个很常用,现在的列表中,都提供了向下滑动刷新的功能。
4. Android瀑布流
实现了类似于迷尚android和蘑菇街android的瀑布流布局。
不过作者已经声明:
此项目由于最初设计问题,导致现在问题比较多,暂时停止维护。我现在在其他类似的瀑布流上进行完善开发,请关注:PinterestLikeAdapterView
dodola github.com/dodola/…
看来作者还是很用心的,值得关注。
5. android-bootstrap
bootstrap,twitter开源的一个项目也叫这个。怎么看该项目都是一个聚合
android-bootstrap 是一个模板/引导/样板文件的应用程序,包括大量的优秀的开放源码工具和框架
Android Bootstrap 包含一个完整实现:Fragments, Fragment Pager, Account Manager, android-maven-plugin, Dagger, ActionBarSherlock 4, ViewPagerIndicator, http-request, GSON, Robotium for integration testing, API Consumption with an API on Parse.com and much more.
好东西啊,什么都有了,同学们自己挑选吧。
6. SlidingMenu
SlidingMenu是一个开源的Android库,能够让开发者轻松开发一款应用,实现类似于Google+、Youtube和Facebook应用中非常流行的滑动式菜单。
目前使用该项目的应用:
- Foursquare
- Rdio
- Evernote Food
- Plume
- VLC for Android
- ESPN ScoreCenter
- MLS MatchDay
- 9GAG
- Wunderlist 2
- The Verge
- MTG Familiar
- Mantano Reader
- Falcon Pro (BETA)
- MW3 Barracks
7. AndroidSideMenu
AndroidSideMenu能够让你轻而易举地创建侧滑菜单。需要注意的是,该项目自身并不提供任何创建菜单的工具,因此,开发者可以自由创建内部菜单。
这个与SlidingMenu结合,那岂不是天衣无缝了。
8. android-flip
能够实现Flipboard翻页效果的UI组件
是不是很酷啊
9. drag-sort-listview
DragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能。重写了TouchInterceptor(TI)类来提供更加优美的拖拽动画效果。
DSLV主要特性:
-完美的拖拽支持;
-在拖动时提供更平滑的滚动列表滚动;
-支持每个ListItem高度的多样性
-公开startDrag()和stopDrag()方法;
-有公开的接口可以自定义拖动的View。
DragSortListView适用于带有任何优先级的列表:收藏夹、播放列表及清单等,算得上是目前Android开源实现拖动排序操作最完美的方案。
10. Android-satellite-menu
模拟path的按钮效果
对于Satellite Menu,其项目发起人siyamed表示,这种菜单结构就像是一个星球四周围绕着许多卫星,而这也就是他为何会以Satellite Menu命名该项目的原因。
11. ArcMenu
又见path的按钮效果
对于这个项目,其发起人daCapricorn表示,iOS版Path 2.0上的用户体验非常奇妙,但其Android版本却差太多。因此,他就尝试着在Android上做出像iOS版本那样的效果,而事实也的确如此。
12. ImageFilterForAndroid
在开源ImageFilterForAndroid中拥有许多丰富的图片效果,是由来自国内的代震军发起的一个开源项目。除了Android平台,还有Windows Phone和iOS移动平台,三个平台源码同步。
代震军也搞Android了吗,以前还看过他对Mongodb源码的分析。
13. Crouton
Crouton是Android上的一个可以让开发者对环境中的Toast进行替换的类,以一个应用程序窗口的方式显示,而其显示位置则由开发者自己决定。
以后自定义Toast,就很方便了。
14. Android-SlideExpandableListView
如果你对Android提供的Android ExpandableListView并不满意,一心想要实现诸如Spotify应用那般的效果,那么SlideExpandableListView绝对是你最好的选择。
该库允许你自定义每个列表项目中的ListView,一旦用户点击某个按钮,即可实现该列表项目区域滑动。
15. TimesSquare
Android下一款漂亮的日历控件
16. StandOut
StandOut 可让你轻松创建 Android 的浮动窗口
17. Notifications4EveryWhere
基于android 4.1 Notification 样式实现的兼容包。
改进自源com.android.support.v4.app 里面的NotificationCompat.Builder。
由于原官方的兼容包中,只是对Notification 做了一层api 的切换,并没有让旧的平台实现android 4.1 Notification 的新特性。所以,我对照着android4.1的源码把,android 4.1 的部分新的Notification 的特性进行移植,让android 2.2 以上的平台都能够用一致的api 实现同样的效果。
目前除了android 4.1 的bigStyle 还没实现外,其他我知道的特性都已经移植完毕。效果可以看主页的截图。
如果你之前有使用NotificationCompat.Builder 的,你只需把com.android.support.v4.app.NotificationCompat.Builder 替换成com.android.support.v8.app.NotificationCompat.Builder 即可。