Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
来源:互联网 发布:小白淘宝屋大头鞋编织 编辑:程序博客网 时间:2024/05/16 09:46
转载请注明出处:http://blog.csdn.NET/xiaanming/article/details/9971721
大家都知道Android的ActionBar是在3.0以上才有的,那么在3.0以下呢,google并没有给我提供在3.0以下支持ActionBar的包,但是外国的大牛JakeWharton实现了在3.0以下使用ActionBar, JakeWharton这位大牛是ActionBarSherlock,Android-ViewPagerIndicator ,NineOldAndroids的作者,非常厉害的一个人,Github的关注量超过2.6K,我左侧的友情链接里面有他的Github的主页链接,有兴趣的朋友可以去follow下他,今天我们使用的是他的开源框架ActionBarSherlock,ActionBarSherlock是让Action Bar功能支持2.X后的所有平台,而且他会自动的判断是调用原生Action Bar还是使用扩展ActionBar,很多知名的应用也使用这个库,我之前对ActionBar也不了解,所以就去下了ActionBarSherlock来好好的了解了解ActionBar的使用
- 我们先从Github上面先下载这个库,下载地址https://github.com/JakeWharton/ActionBarSherlock,下载好了解压如图
把红色框框标记的文件导入Eclipse里面,我们可以先看下例子,来了解下ActionBar的一些使用情况
- 我们新建一个Android工程,叫ViewPagerAndTab,然后指定ActionBarSherlock为ViewPagerAndTab的库工程,右键工程--->Properties
通过上面的几步我们就指定ActionBarSherlock为ViewPagerAndTab的库工程,接下来我们就能在3.0以下使用ActionBar,我这里使用的是ActionBar Tab和ViewPager仿网易新闻,我们看看主要代码的编写
1.先看布局文件,里面一个ViewPager,非常简单
2.MainActivity代码,点击ActionBar的Tab,ViewPager切换不同的Fragment,滑动ViewPager,选中相对应的ActiionBar Tab
我们使用ActionBarSherlock的时候不再是继承Activity,而是继承SherlockActivity,SherlockDialogFragment,SherlockFragmentActivity等等,我这里用到Fragment,所以继承SherlockFragmentActivity,我们不能随便设置Activity的theme,以后我们要全屏显示的时候直接设置android:theme="@android:style/Theme.Black.NoTitleBar",我们使用ActionBar就不能这样设置了,并且不能随便设置他的Theme,必须是Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar,或者是他们的子样式,不然就会出java.lang.IllegalStateException异常,所以为了自定义ActionBar的Tab,我们必须修改其style注意:我们还必须删除ViewPagerAndTab工程libs下面的android-support-v4.jar包,因为在ActionBarSherlock已经包含android-support-v4.jar
3.ViewPager的适配器TabPagerAdapter,因为我们用到Fragment,所以我们继承FragmentStatePagerAdapter而不是PagerAdapter
4.ItemFragment 继承SherlockFragment,也可以直接继承Fragment,里面的的布局比较简单,一个TextView用来显示从Activity传递过来的ActionBar Tab的title
然后我们将上面的Activity的theme设置成android:theme="@style/Theme.Sherlock.Light.DarkActionBar" 运行项目看看效果,下图一是项目的效果,图二是网易的效果是不是相差很大呢?人家下面的指示条是红色的,我们做出来的是蓝色的,人家选中Tab的字体颜色是红色,我们的不变色等等,那么我们要怎么才能做出网易新闻的那样子的效果,我们需要改变其style,改变如下
还有一些图片,selector我没有贴出来,可以去下载代码看看效果,改变style运行效果好了,今天的讲解到此结束,有疑问的朋友请在下面留言,有兴趣的可以看看 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
源码下载,请点击
很多朋友说自己在4.1上面怎么设置style没效果,首先这个库是在2.X的机器上面使用ActionBar,3.0以后就是使用Andriod自带的ActionBar,所以在3.0以上的系统使用的style为android自带的style,所以我们要将style文件做下修改,如下
- 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端 .
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 仿网易新闻客户端开源框架ActionBarSherlock 和 ViewPager
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- ubuntu 安装软件方法
- 大型网站架构技术一览(李智慧著.大型网站技术架构.附录A)
- sql 嵌套查询,并通过分组 和字段连接函数GROUP_CONCAT 查询出符合业务的结果集
- npm执行命令后无任何响应(windows下)
- chrome 跨域问题
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- 学习笔记之JavaSE(4)--Java基础语法3
- 纯JS脚本1k大小的3D圣诞树
- 关于set数组中有null 或者 " "
- 针对SDPhotoBrowser不支持保存gif图片,提出的解决方法
- win10系统上安装了两个版本的jdk1.7 1.8,先安装的1.8,后安装的1.7,重新配置环境变量后,还是显示1.8的解决方法3
- mysql 自定义排序
- Gradle for Android studio 的基本认识(一)
- 8天学通MongoDB——第四天 索引操作