Android(安卓)RadioButton+Viewpager+Fragment实现底部导航栏
16lz
2021-01-25
第一步:XMl布局
<?xml version="1.0" encoding="utf-8"?>
第二步:在drawavle创建xml文件设置图片点击效果
<?xml version="1.0" encoding="utf-8"?>
第三步:在drawavle创建xml文件设置字体颜色点击效果
<?xml version="1.0" encoding="utf-8"?>//设置底部字体颜色点击后的状态
第四步:在Values下定义style.xml
<?xml version="1.0" encoding="utf-8"?>
第五步:编写ViewPager适配器
public class MyPagerAdapter extends FragmentPagerAdapter{ private List list ; private Context context; public MyPagerAdapter(FragmentManager fm, List list, Context context) { super(fm); this.list = list; this.context = context; } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); }}
第六步:在MianActivity编写Java代码
public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener, ViewPager.OnPageChangeListener { private ViewPager vp; private List list = new ArrayList<>(); private RadioButton tv1; private RadioButton tv2; private RadioGroup rg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { vp = (ViewPager) findViewById(R.id.vp); tv1 = (RadioButton) findViewById(R.id.tv1); tv2 = (RadioButton) findViewById(R.id.tv2); rg = (RadioGroup) findViewById(R.id.rg); list.add(new AFragment()); list.add(new BFragment()); MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager(), list, this); vp.setAdapter(adapter); rg.check(R.id.tv1); vp.setCurrentItem(0); rg.setOnCheckedChangeListener(this); vp.addOnPageChangeListener(this); } @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId){ case R.id.tv1: vp.setCurrentItem(0); break; case R.id.tv2: vp.setCurrentItem(1); break; } } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position){ case 0: rg.check(R.id.tv1); break; case 1: rg.check(R.id.tv2); break; } } @Override public void onPageScrollStateChanged(int state) { }}
更多相关文章
- android 问题汇总系列之四
- 窗口透明样式示例
- RecyclerView 滚动条 长宽设置
- Android(安卓)glide-transformations 使用demo 实现Blur等效果
- Android(安卓)自定义字体
- Android(安卓)创建快捷方式
- android 扩散水波纹效果
- android opengl es 飘落的星星
- Android状态栏透明(沉浸式效果)