1、在drawable 下 右键 New drawable resource file 起一个文件名 File Name 下面 Root element 选择 selector类型
(这里每一个RadioButton都需要引用一个,以上方今日头条为例,所以需要建4个)-----每个里边放你的一个RadioButton对应的一个红色点击的图片和未点击的白色图片
里边代码如下------例: 需要写与上面Radiobutton对应的个数,例我上面写了四个RadioButton 我这里也要写4个对应的selector
解释一下:参考 第一个<item android:state_checked="true" android:drawable="@drawable/yx2"/>--@drawable/yx2是选中时的图片
第二个<item android:state_checked="true" android:drawable="@drawable/wx2"/>--@drawable/wx2是未选中时的图片
(这里每一个RadioButton都需要引用一个,以上方今日头条为例,所以需要建4个)-----每个里边放你的一个RadioButton对应的一个红色点击的图片和未点击的白色图片
里边代码如下------例: 需要写与上面Radiobutton对应的个数,例我上面写了四个RadioButton 我这里也要写4个对应的selector
解释一下:参考 第一个<item android:state_checked="true" android:drawable="@drawable/yx2"/>--@drawable/yx2是选中时的图片
第二个<item android:state_checked="true" android:drawable="@drawable/wx2"/>--@drawable/wx2是未选中时的图片
第三个<item android:drawable="@drawable/yx2"/>--@drawable/wx2是默认的图片
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/ac1"/> <item android:state_checked="false" android:drawable="@drawable/ac0"/> <item android:drawable="@drawable/ac0"/> </selector>
2、创建Fragment就省略了
3、主页面
public class MainActivity extends AppCompatActivity { private ViewPager mVp; private RadioButton mHomepager; private RadioButton mClasspager; private RadioButton mShoppingcarpager; private RadioButton mMypager; private RadioGroup radioGroup; private List<Fragment> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initDate(); fragmentAdapter adapter = new fragmentAdapter(getSupportFragmentManager(), list); mVp.setAdapter(adapter); } private void initDate() { list = new ArrayList<>(); list.add(new FragmentOne()); list.add(new FragmentTwo()); list.add(new FragmentThree()); list.add(new FragmentFour()); } private void initView() { mVp = (ViewPager) findViewById(R.id.vp); mHomepager = (RadioButton) findViewById(R.id.homepager); mClasspager = (RadioButton) findViewById(R.id.classpager); mShoppingcarpager = (RadioButton) findViewById(R.id.shoppingcarpager); mMypager = (RadioButton) findViewById(R.id.mypager); radioGroup = (RadioGroup) findViewById(R.id.rg); mVp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position){ case 0: radioGroup.check(R.id.homepager); break; case 1: radioGroup.check(R.id.classpager); break; case 2: radioGroup.check(R.id.shoppingcarpager); break; case 3: radioGroup.check(R.id.mypager); break; } } @Override public void onPageScrollStateChanged(int state) { } }); radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.homepager: mVp.setCurrentItem(0, false); break; case R.id.classpager: mVp.setCurrentItem(1, false); break; case R.id.shoppingcarpager: mVp.setCurrentItem(2, false); break; case R.id.mypager: mVp.setCurrentItem(3, false); break; } } }); } //适配器 class fragmentAdapter extends FragmentPagerAdapter{ public fragmentAdapter(FragmentManager fm, List<Fragment> list) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } } }
colors.xml中设置颜色为:
<color name="transparent">#00000000</color>