public class Home_Activity extends AppCompatActivity { private RadioButton rb1; private RadioButton rb2; private RadioButton rb3; private RadioButton rb4; private RadioButton rb5; private RadioGroup rg1; private FrameLayout fl1; private ArrayList<Fragment> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home_); initView(); } private void initView() { rb1 = (RadioButton) findViewById(R.id.rb1); rb2 = (RadioButton) findViewById(R.id.rb2); rb3 = (RadioButton) findViewById(R.id.rb3); rb4 = (RadioButton) findViewById(R.id.rb4); rb5 = (RadioButton) findViewById(R.id.rb5); rg1 = (RadioGroup) findViewById(R.id.rg1); fl1 = (FrameLayout) findViewById(R.id.fl1); list=new ArrayList<>(); list.add(new AFragment()); list.add(new BFragment()); list.add(new CFragment()); list.add(new DFragment()); list.add(new EFragment()); rg1.check(R.id.rb1); getview(); switchFragment(0); rg1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) { switch (checkedId){ case R.id.rb1: switchFragment(0); rb1.setTextColor(Color.BLUE); rb2.setTextColor(Color.GRAY); rb3.setTextColor(Color.GRAY); rb4.setTextColor(Color.GRAY); rb5.setTextColor(Color.GRAY); break; case R.id.rb2: switchFragment(1); rb2.setTextColor(Color.BLUE); rb1.setTextColor(Color.GRAY); rb3.setTextColor(Color.GRAY); rb4.setTextColor(Color.GRAY); rb5.setTextColor(Color.GRAY); break; case R.id.rb3: switchFragment(2); rb3.setTextColor(Color.BLUE); rb2.setTextColor(Color.GRAY); rb1.setTextColor(Color.GRAY); rb4.setTextColor(Color.GRAY); rb5.setTextColor(Color.GRAY); break; case R.id.rb4: switchFragment(3); rb4.setTextColor(Color.BLUE); rb2.setTextColor(Color.GRAY); rb3.setTextColor(Color.GRAY); rb1.setTextColor(Color.GRAY); rb5.setTextColor(Color.GRAY); break; case R.id.rb5: switchFragment(4); rb5.setTextColor(Color.BLUE); rb2.setTextColor(Color.GRAY); rb3.setTextColor(Color.GRAY); rb4.setTextColor(Color.GRAY); rb1.setTextColor(Color.GRAY); break; } } }); } private void switchFragment(int position) { //开启事务 FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); //遍历集合 for (int i = 0; i <list.size() ; i++) { Fragment fragment = list.get(i); if (i==position){ //显示fragment if (null !=fragment) { if (fragment.isAdded()){ //如果这个fragment已经被事务添加,显示 fragmentTransaction.show(fragment); }else{ //如果这个fragment没有被事务添加过,添加 fragmentTransaction.add(R.id.fl1,fragment); } } }else{ //隐藏fragment if (null != fragment) { if (fragment.isAdded()){ //如果这个fragment已经被事务添加,隐藏 fragmentTransaction.hide(fragment); } } } } //提交事务 fragmentTransaction.commit(); } public void getview() { //定义底部标签图片大小和位置 Drawable drawable_news = getResources().getDrawable(R.drawable.af_t1); //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形 drawable_news.setBounds(0, 0, 45, 45); //设置图片在文字的哪个方向 rb1.setCompoundDrawables(null, drawable_news, null, null); //定义底部标签图片大小和位置 Drawable drawable_live = getResources().getDrawable(R.drawable.af_t2); //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形 drawable_live.setBounds(0, 0, 45, 45); //设置图片在文字的哪个方向 rb2.setCompoundDrawables(null, drawable_live, null, null); //定义底部标签图片大小和位置 Drawable drawable_tuijian = getResources().getDrawable(R.drawable.af_t3); //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形 drawable_tuijian.setBounds(0, 0, 45, 45); //设置图片在文字的哪个方向 rb3.setCompoundDrawables(null, drawable_tuijian, null, null); //定义底部标签图片大小和位置 Drawable drawable_me = getResources().getDrawable(R.drawable.af_t4); //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形 drawable_me.setBounds(0, 0, 45, 45); //设置图片在文字的哪个方向 rb4.setCompoundDrawables(null, drawable_me, null, null); //定义底部标签图片大小和位置 Drawable drawable_zi = getResources().getDrawable(R.drawable.af_t5); //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形 drawable_zi.setBounds(0, 0, 45, 45); //设置图片在文字的哪个方向 rb5.setCompoundDrawables(null, drawable_zi, null, null); } }
//布局
<Framlayou></Framlayout>
<RadioGroup></RadioGroup>