像微信那种效果的
//获取控件
page = (ViewPager) findViewById(R.id.page);
group = (RadioGroup) findViewById(R.id.group);
radio1 = (RadioButton) findViewById(R.id.radio1);
radio2 = (RadioButton) findViewById(R.id.radio2);
radio3 = (RadioButton) findViewById(R.id.radio3);
//数组,上边定成全局的
fraglist = new ArrayList<Fragment>();
fraglist.add(new Frag01());
fraglist.add(new Frag02());
fraglist.add(new Frag03());
//设置适配器
page.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager())
{
@Override
public Fragment getItem(int i) {
return fraglist.get(i);
}
@Override
public int getCount() {
return fraglist.size();
}
});
//默认选中第一个按钮
group.check(group.getChildAt(0).getId());
//点击按钮 上边换
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.radio1:
page.setCurrentItem(0);
break;
case R.id.radio2:
page.setCurrentItem(1);
break;
case R.id.radio3:
page.setCurrentItem(2);
break;
}
}
});
//滑动 按钮变
page.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
group.check(group.getChildAt(i).getId());
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
QQ那种的: Fragment
//数组
list = new ArrayList();
list.add(new Frag01());
list.add(new Frag02());
list.add(new Frag03());
manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
//显示第一个
transaction.add(R.id.frag,list.get(0)).commit();
//按钮
group = findViewById(R.id.group);
group.check(group.getChildAt(0).getId());
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.radio1:
manager.beginTransaction().replace(R.id.frag,list.get(0)).commit();
break;
case R.id.radio2:
manager.beginTransaction().replace(R.id.frag,list.get(1)).commit();
break;
case R.id.radio3:
manager.beginTransaction().replace(R.id.frag,list.get(2)).commit();
break;
}
}
});