ViewPager滑动切换(WeChat滑动)以及按钮Select

//Xml布局如下

<android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >
    </android.support.v4.view.ViewPager>

    <RadioGroup
        android:id="@+id/radioGroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/sel_button"
            android:text="消息"
            android:gravity="center"
             />
         <RadioButton
            android:id="@+id/radio2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/sel_button"
            android:text="消息"
            android:gravity="center"
             />
          <RadioButton
            android:id="@+id/radio3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/sel_button"
            android:text="消息"
            android:gravity="center"
             />
           <RadioButton
            android:id="@+id/radio4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/sel_button"
            android:text="消息"
            android:gravity="center"
             />
        
    </RadioGroup>

//功能代码如下


    private ViewPager pager;
    private RadioGroup radiogroup;

    @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());
        // 添加数据
        final ArrayList<Fragment> list = new ArrayList<Fragment>();
        Frag01 frag01 = new Frag01();
        
        Frag02 frag02 = new Frag02();
        Frag03 frag03 = new Frag03();
        frag03.getbacks(this);
        Frag04 frag04 = new Frag04();
        list.add(frag01);
        list.add(frag02);
        list.add(frag03);
        list.add(frag04);
        // 设置适配器里面必须有参数
        pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return list.size();
            }

            @Override
            public Fragment getItem(int arg0) {
                // TODO Auto-generated method stub
                return list.get(arg0);
            }
        });

//滑动联动
        pager.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                // TODO Auto-generated method stub
                radiogroup.check(radiogroup.getChildAt(arg0).getId());
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub

            }
        });

//按钮联动

        radiogroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // TODO Auto-generated method stub
                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;
                case R.id.radio4:
                    pager.setCurrentItem(3);
                    backs.getdata(name);
                    break;
                default:
                    break;
                }
            }
        });

猜你喜欢

转载自blog.csdn.net/qq_43578439/article/details/84783846