第一 在activity_main.xml中布局
上面是一个ViewPager-用来存放我们的fragment
下面是一个底部按钮-按钮的数量要与fragment的数量相对应
//ViewPager
//底部按钮-首页 推荐 我的
第二 在MainActivity.java中写代码
public class MainActivity extends AppCompatActivity {
private ViewPager pager;
private RadioGroup radiogroup;
private ArrayList fragmentlist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
//查找控件
pager = (ViewPager)findViewById( R.id.pager );
radiogroup = (RadioGroup)findViewById( R.id.radiogroup );
//第一个按钮默认设置为选中的状态
radiogroup.check( radiogroup.getChildAt( 0 ).getId() );
//集合--存放三个fragment
fragmentlist = new ArrayList<>();
Fragment1 fragment1 = new Fragment1();
Fragment2 fragment2 = new Fragment2();
Fragment3 fragment3 = new Fragment3();
fragmentlist.add( fragment1 );
fragmentlist.add( fragment2 );
fragmentlist.add( fragment3 );
//给pager设置适配器
FragmentPagerAdapter pagerAdapter1 = new FragmentPagerAdapter( getSupportFragmentManager() ) {
@Override
public int getCount() {
return fragmentlist.size();
}
@Override
public Fragment getItem(int i) {
return fragmentlist.get( i );
}
};
pager.setAdapter( pagerAdapter1 );
//点击按钮切换页面
radiogroup.setOnCheckedChangeListener( new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.radio1:
pager.setCurrentItem( 0 );
break;
case R.id.radio2:
pager.setCurrentItem( 1 );
break;
case R.id.radio3:
pager.setCurrentItem( 2 );
break;
}
}
} );//点击按钮切换页面
//左右滑动页面按钮实现联动
pager.addOnPageChangeListener( new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
//对应的按钮默认设置为选中的状态
radiogroup.check( radiogroup.getChildAt( i ).getId() );
}
@Override
public void onPageScrollStateChanged(int i) {
}
} );//左右滑动页面按钮实现联动
}
}