在android studio 0.8.14 beta版中,同swiperefreshlayout一样,虽然可以在项目layout xml文件中看到<ViewPager>的标签,但是却不能正常使用,只有<android.support.v4.view.ViewPager>才能使项目正常运行。
此外,和ViewPager配套使用的还有<android.support.v4.view.PagerTitleStrip>和<android.support.v4.view.PagerTabStrip>标签,这两个标签和类似,不过pagertitlestrip不可以点击,而pagertabstrip可以。不过,这两个标签有点怪,便签内容会随着选中的内容(title)移动,被选中的内容(title)会居中,效果看起来怪怪的,真是有点鸡肋。不如直接用actionbar,虽然麻烦一点,但是效果却很不错。
viewpager的使用步骤不是很多,首先就是在layout xml布局文件中添加viewpager便签,然后就是在activity中findviewbyid找到,然后就是setadapter(),adapter有多种选择,如果想在viewpager中嵌套fragment的话,有两种设配器,fragmentpageradapter和fragmentstatepageradapter,第二种节省内存,官方说的,详情请咨询www.developer.android.com。然后就是重写这两个adapter的方法了,在getItem()方法里面直接返回fragment就可以了。
不过这里面有一个小陷阱,就是getItem()方法返回值是一个Fragment,属于android.support.v4.app.Fragment这个包,因为fragment还有另外一个导入包,我之前就是系统自动导包导致类型不兼容,getItem()方法总是报错。解决问题的方法很简单,就是修改导入包,在activity和fragment中都要修改,直接删除原导入包,重新导入另一个包即可。
有点小无语,感觉android studio里面的导包有点不尽如人意。最开始用android studio的时候,因为系统自动导包导错包的问题,不知道花了多少时间调试和上网找答案。就比如List,就曾经系统自动导错了包,我一开始不知道,只好改用LinkedList,最后才知道是导错了包才导致List不能正常使用,总是提示什么List是抽象的啊,要重写所有的方法之类的。好了,收尾了,洗个澡后写一下actionbar的使用心得。