首页 > 代码库 > 使用官方Android-support-v7在低版本上使用ActionBarActivity
使用官方Android-support-v7在低版本上使用ActionBarActivity
昨天晚上更新了下Android SDK Manager,发现Extras下的Android Support Library已经更新到19.1了,上网一查原来是sdk\extras\android\support\v7中的android-support-v7目录又添加了新的内容。据官方介绍,android-support-v7新增了下拉刷新(SwipeRefreshLayout)控件和在低版本下兼容ACtionBar。SwipeRefreshLayout控件使用起来挺简单的,不过与我以前使用的android-pulltorefresh还是有点不太一样,android-pulltorefresh顶部是以圆形进度条或箭头展示加载中,它是作为一个View来使用,局限性较大,同时支持上拉加载更多,而SwipeRefreshLayout其实则是作为一个ViewGroup来使用的,即他必须嵌套一个ListView或ScrollView,可扩展性强,SwipeRefreshLayout展示是以水平直线渐变来展示加载中。至于我们用那个好,因项目和需求而定,而且google和GitHub上都有详细说明和样例,我就不一一细说了。
本次主要想说下是使用android-support-v7在低版本下兼容ActionBar。做过android的大都知道,为了在平板等大屏幕android系统上有更好的展示效果,android 3.0 新增了Fragments(简称碎片)和ActionBar两大重量级组件。Fragments的灵活性自不必说(现在已经有很多人采用一个Activity+N个Fragment开发了)。ActionBar的强大和美观也赢得了众多开发者的追捧。但是只有Android 3.0以上才能使用,又让不少开发者望而却步。于是国外就有牛逼的人仿官方ActionBar实现了兼容低版本的ActionBarSherlock(官网:http://actionbarsherlock.com/),当然还有另外个版本的ActionBar也不错(https://github.com/johannilsson/android-actionbar)。这两个版本是开发者以前想使用ActionBar但又想兼容低版本时的最佳选择。现在,既然官网出了兼容低版本的ActionBar包,还是用官方的好些。当然,官方的兼容包的API也是很简单的,使用起来非常方便。下面是我根据官方的android-support-v7兼容包仿照着写的样例地址:
https://github.com/alishaoxiong/android-support-v7_ActionBarActivityExample
目前主要有两个疑问:
1、同时带preferences和actionbar怎么实现?
2、不通过继承,通过代码可以怎么实现actionbar?
上面两个问题当我使用ActionBarSherlock是可以实现的,但使用官方的兼容包没找到具体的解决方案,如果有知道的朋友,可以告诉我下,谢谢。