ViewPager+Fragment微信那种的 和 QQ那种的: Fragment

像微信那种效果的

//获取控件
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;
            }

        }
    });

猜你喜欢

转载自blog.csdn.net/weixin_43805224/article/details/84726366
今日推荐