fragment点击切换页面(变色)

例:



在res下面新建drawable文件夹》新建radio_select.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="@color/red"/>
    <item android:state_checked="false" android:drawable="@color/white"/>
</selector>

 colors.xml下面

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#f00</color>
    <color name="white">#ffffff</color>
</resources>


MainActivity 主页面:

public class MainActivity extends AppCompatActivity {
    private ViewPager view_pager;
    private RadioGroup radio_group;
    private List list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //FragmentActivity 找控件
        view_pager = (ViewPager) findViewById(R.id.view_pager);
        radio_group = (RadioGroup) findViewById(R.id.radio_group);
        // 通过viewPager展示Fragment
        list = new ArrayList<Fragment>();
        list.add(new Main1Fragment());
        list.add(new Main2Fragment());
        // 适配到ViewPager        view_pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager(),list));
        // 滑动页面,,,,radiobutton切换
        view_pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageSelected(int arg0) {
                radio_group.check(radio_group.getChildAt(arg0).getId());
            }
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }
            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
        // 切换radiobutton,,,页面切换
        radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId) {
                    case R.id.rb_01:
                        view_pager.setCurrentItem(0, false);
                        break;
                    case R.id.rb_02:
                        view_pager.setCurrentItem(1, false);
                        break;
                    default:
                        break;
                }
            }
        });
    }
}
activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <android.support.v4.view.ViewPager
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="9" />
    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:id="@+id/radio_group"
        android:layout_weight="1"
        android:orientation="horizontal" >
        <RadioButton
            android:id="@+id/rb_01"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/radio_select"
            android:button="@null"
            android:checked="true"
            android:gravity="center"
            android:text="首页"
            android:textSize="18sp" />
        <RadioButton
            android:id="@+id/rb_02"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/radio_select"
            android:button="@null"
            android:gravity="center"
            android:text="我的"
            android:textSize="18sp" />
    </RadioGroup>
</LinearLayout>

MyPagerAdapter 

public class MyPagerAdapter extends FragmentPagerAdapter {
    private List<Fragment> list;
    public MyPagerAdapter(FragmentManager fm, List<Fragment> list) {
        super(fm);
        this.list = list;
    }
    @Override
    public Fragment getItem(int arg0) {
        // TODO Auto-generated method stub
        return list.get(arg0);
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return list.size();
    }
}


Main1Fragment

public class Main1Fragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = View.inflate(getActivity(), R.layout.fragment_main1, null);
        return view;
    }
    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
    }
}
fragment_main1

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:text="首页页面"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</RelativeLayout>



猜你喜欢

转载自blog.csdn.net/jun_tong/article/details/80630405