Andorid学习笔记 12 ViewPager
2015-10-15 10:43
204 查看
Day12 ViewPager
ViewPagerViewPager
添加ViewPager控件为ViewPager添加page页面(通过PagerAdapter)
ViewPager与ActionBar(Tabs)交互
添加ViewPager控件
ViewPager存在于V4支持包android.support.v4.view.ViewPager
<android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" />
为ViewPager添加page页面(通过PagerAdapter)
private void initFragments() { // TODO 初始化数据源对象,实例化ViewPager中显示的Fragment fragments=new ArrayList<Fragment>(); fragments.add(InfoFragment.newInstance("头条")); fragments.add(InfoFragment.newInstance("体育")); fragments.add(InfoFragment.newInstance("军事")); fragments.add(InfoFragment.newInstance("国内")); fragments.add(InfoFragment.newInstance("国际")); fragments.add(InfoFragment.newInstance("文艺")); //实例化显示Fragment的适配器 adapter=new InfoFragmentAdapter(getSupportFragmentManager()); vPager.setAdapter(adapter); }
适配器
FragmentPagerAdapter
FragmentStatePagerAdapter
FragmentPagerAdapter只销毁UI界面,不会销毁Fragment对象
FragmentStatePagerAdapter彻底销毁Fragment对象
ViewPager与ActionBar(Tabs)交互
通过设置ViewPaer的滑动切换事件监听和Tab项的点击事件监听实现TabListener
OnPageChangeListener
selectTab()
setCurrentItem()
private void viewPagerEvent() { vPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { //选择指定位置的ActionBar的Tab项 mBar.selectTab(mBar.getTabAt(position)); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); }
(implements TabListener) @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub vPager.setCurrentItem(tab.getPosition()); }
相关文章推荐
- 关于提高编码效率的方法
- Linux学习记录(17)SSH协议及Linux日志基础
- 1:简单动画
- percona-toolkit之pt-online-schema-change(在线更改表结构)
- linux下安装Oracle11g提示“无法使用命令/usr/bin/xdpyinfo自动检查显示器颜色”问题的解决
- FineUI开源版之TreeGrid(修改)
- 一个有关 scala 编程语言 的博客
- PHP实现多继承的效果(tarits)
- js时间戳怎么转化为日期格式
- unity 平台控制宏
- iOS开发-UI控件:UILabel用法详解
- CSS3属性之text-shadow和box-shadow(立体效果的实现)
- Git push/pull etc
- 无序html标签
- Java——抽象类实现接口
- mysql 修改表结构脚本
- git权限问题
- 内存中的栈和堆的区别
- iOS通过经纬度计算两个坐标之间的距离
- [测试文章]简单实用的鼠标滑过图片遮罩层动画jQuery插件