您的位置:首页 > 其它

Andorid学习笔记 12 ViewPager

2015-10-15 10:43 204 查看

Day12 ViewPager

ViewPager

ViewPager

添加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());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: