布局就简单的介绍一下,首先头部是一个ViewPager,底部是由RadioGroup里包着RadioButton实现的按钮
接着就是连接fragment
public class ShowActivity extends AppCompatActivity {
@BindView(R.id.vp)
ViewPager mVp;
@BindView(R.id.rg)
RadioGroup mRg;
private List<Fragment> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
ButterKnife.bind(this);
list.add(new Fragment01());
list.add(new Fragment02());
list.add(new Fragment03());
list.add(new Fragment04());
list.add(new Fragment05());
mVp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
});
mVp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
switch (i){
case 0:
mRg.check(R.id.rg1);
break;
case 1:
mRg.check(R.id.rg2);
break;
case 2:
mRg.check(R.id.rg3);
break;
case 3:
mRg.check(R.id.rg4);
break;
case 4:
mRg.check(R.id.rg5);
break;
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
mRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.rg1:
mVp.setCurrentItem(0);
break;
case R.id.rg2:
mVp.setCurrentItem(1);
break;
case R.id.rg3:
mVp.setCurrentItem(2);
break;
case R.id.rg4:
mVp.setCurrentItem(3);
break;
case R.id.rg5:
mVp.setCurrentItem(4);
break;
}
}
});
}
}
给大家扩展一下,底部点击变色,边图的一些简单操作
首先在drawable文件夹下创建一个新的xml,然后在里面编写你所需要的样子,编写完之后就可以在你需要展示的页面直接引用了
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/red4"></item>
<item android:state_checked="false" android:drawable="@drawable/ce"></item>
</selector>