您的位置:首页 > 其它

最简单是使用viewpager的方法

2016-04-22 13:24 459 查看
闲言少叙,直接上干货

如果使用eclipse开发的需要手动填写viewpager的包名,用studio则不会,布局文件中会自动提示出来的

v-4中的控件在布局文件中加入头标签

<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>


适配数据时候

classMyAdapterextendsPagerAdapter{
@Override
publicintgetCount(){
//TODOAuto-generatedmethodstub
returnpagers.size();
}
@Override
publicbooleanisViewFromObject(Viewview,Objectobject){
//TODOAuto-generatedmethodstub
returnview==object;
}
@Override
publicObjectinstantiateItem(ViewGroupcontainer,intposition){
//根据position返回对应的xml文件,返回对象
BasePagerbasePager=pagers.get(position);
//添加布局
container.addView(basePager.rootView);
//更新界面
basePager.initData();
returnbasePager.rootView;
}
@Override
publicvoiddestroyItem(ViewGroupcontainer,intposition,Objectobject){
container.removeView((View)object);
}
}


比较重要几个事件类型

classMyPageChangeListenerimplementsOnPageChangeListener{
@Override
publicvoidonPageScrollStateChanged(intarg0){
}
@Override
publicvoidonPageScrolled(intarg0,floatarg1,intarg2){
}
@Override
publicvoidonPageSelected(intarg0){
//选中某一页更新界面;
pagers.get(arg0).initData();
}
}
classMyOnCheckedChangeListenerimplementsOnCheckedChangeListener{
@Override
publicvoidonCheckedChanged(RadioGroupgroup,intcheckedId){
switch(checkedId){
caseR.id.rb_home:
vp_pagers.setCurrentItem(0,false);
break;
caseR.id.rb_order:
vp_pagers.setCurrentItem(1,false);
break;
caseR.id.rb_me:
vp_pagers.setCurrentItem(2,false);
break;
caseR.id.rb_more:
vp_pagers.setCurrentItem(3,false);
break;
}
}
}


快速集成完毕,可以运行看效果啦.....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: