RadioGroup+ViewPager+Fragment实现的可滑动的Tab页,非常的灵活。

最终效果图

 

demo下载:http://download.csdn.net/download/shenyuanqing/9064189

部分源码

MainActivity

package com.example.shen.tabtest.activity;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.view.ViewPager;import android.widget.RadioButton;import android.widget.RadioGroup;import com.example.shen.tabtest.R;import com.example.shen.tabtest.adapter.myFragmentPagerAdapter;import com.example.shen.tabtest.fragment.EvaluationFragment;import com.example.shen.tabtest.fragment.MerchantFragment;import com.example.shen.tabtest.fragment.OrderFragment;import java.util.ArrayList;public class MainActivity extends FragmentActivity implements RadioGroup.OnCheckedChangeListener{    private ViewPager viewPager;    private RadioGroup radioGroup;    private RadioButton rbOrder,rbEvaluation,rbMerchant;    private ArrayList alFragment;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //初始化界面组件        initView();        //初始化ViewPager        initViewPager();    }    private void initView(){        viewPager=(ViewPager) findViewById(R.id.viewpager);        radioGroup=(RadioGroup) findViewById(R.id.radiogroup);        rbOrder=(RadioButton) findViewById(R.id.rb_order);        rbEvaluation=(RadioButton) findViewById(R.id.rb_evaluation);        rbMerchant=(RadioButton) findViewById(R.id.rb_merchant);        radioGroup.setOnCheckedChangeListener(this);    }    private void initViewPager(){        OrderFragment orderFragment=new OrderFragment();        EvaluationFragment evaluationFragment=new EvaluationFragment();        MerchantFragment merchantFragment=new MerchantFragment();        alFragment=new ArrayList<>();        alFragment.add(orderFragment);        alFragment.add(evaluationFragment);        alFragment.add(merchantFragment);        //ViewPager设置适配器        viewPager.setAdapter(new myFragmentPagerAdapter(getSupportFragmentManager(), alFragment));        //ViewPager显示第一个Fragment        viewPager.setCurrentItem(0);        //ViewPager页面切换监听        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {            }            //滑动ViewPager,RadioButton选中状态做相应变换            @Override            public void onPageSelected(int position) {                switch (position){                    case 0:                        radioGroup.check(R.id.rb_order);                        break;                    case 1:                        radioGroup.check(R.id.rb_evaluation);                        break;                    case 2:                        radioGroup.check(R.id.rb_merchant);                        break;                }            }            @Override            public void onPageScrollStateChanged(int state) {            }        });    }    /**     * 点击RadioButton切换ViewPager中相应的Fragment     * @param group     * @param checkedId     */    @Override    public void onCheckedChanged(RadioGroup group, int checkedId) {        switch (checkedId){            case R.id.rb_order:                viewPager.setCurrentItem(0,false);                break;            case R.id.rb_evaluation:                viewPager.setCurrentItem(1,false);                break;            case R.id.rb_merchant:                viewPager.setCurrentItem(2,false);                break;        }    }}
activity_main.xml

                                        
myFragmentPagerAdapter

package com.example.shen.tabtest.adapter;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import java.util.ArrayList;/** * Created by Administrator on 2015/6/24. */public class myFragmentPagerAdapter extends FragmentPagerAdapter {    private ArrayList list;    public myFragmentPagerAdapter(FragmentManager fm, ArrayList list){        super(fm);        this.list=list;    }    @Override    public Fragment getItem(int position) {        return list.get(position);    }    @Override    public int getCount() {        return list.size();    }}
style_radiobutton

    


















更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Fedora镜像
  2. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  3. 【Android】Android(安卓)彩信发送的两种方式+源代码
  4. 横竖屏切换时不销毁当前activity 和 锁定屏幕
  5. 修改android默认时区语言
  6. android material design 军火库 控件
  7. 有米平台 发布android软件教程
  8. android webview 面试
  9. 横竖屏切换时不销毁当前activity 和 锁定屏幕

随机推荐

  1. 使用迅雷下载android 镜像
  2. Android学习之界面篇(一)Android(安卓)Anim
  3. 【原创】Android之修改AlertDialog对话框
  4. Android(安卓)Bluetooth 总结
  5. 【Android高级】DexClassloader和PathCla
  6. Android(安卓)Robotium搭建环境测试微信
  7. [置顶] Android的IPC访问控制设计与实现
  8. Android应用程序的自动更新升级(自身升级
  9. win10环境下Android(安卓)SDK下载安装及
  10. Android和蓝牙GPS结合的方法