0dp3dpmatch_parent1@nullcenter12sp这里简单记录下通过RadioGroup+Fragment实现Android底部导航栏。布局:这里的drawableTop使用了状态选择器>itemandroid:drawable="@drawable/home"/>样式0dp3dpmatch_parent1@nullcenter12sp代码初始化代码就不记录了,就是一些findViewById,实现的进程无非就是监听RadioButton:null){mHomeFragment=HomeFragment.newInstance(getString(R.string.item_home));}交易n.replace(R.id.sub_content,mHomeFragment);break;caseR.id.rb_location:if(mLocationFragment==null){mLocationFragment=LocationFragment.newInstance(getString(R.string.item_location));}transaction.replace(R.id.sub_content,mLocationFragment);break;caseR.id.rb_like:if(mLikeFragment==null){mLikeFragment=LikeFragment.newInstance(getString(R.string.item_like));}transaction.replace(R.id.sub_content,mLikeFragment);break;caseR.id.rb_me:if(mPersonFragment==null){mPersonFragment=PersonFragment.newInstance(getString(R.string.item_person));}transaction.replace(R.id.sub_content,mPersonFragment);break;}setTabState();//设置状态transaction.commit();}状态的设置privatevoidsetTabState(){setHomeState();setLocationState();setLikeState();setMeState();}/***settabhomestate*/privatevoidsetHomeState(){if(mRadioHome.isChecked()){mRadioHome.setTextColor(ContextCompat.getColor(getActivity(),R.color.colorPrimary));}else{mRadioHome.setTextColor(ContextCompat.getColor(getActivity(),R.颜色.b缺少));}}privatevoidsetLocationState(){if(mRadioLocation.isChecked()){mRadioLocation.setTextColor(ContextCompat.getColor(getActivity(),R.color.colorPrimary));}else{mRadioLocation.setTextColor(ContextCompat.getColor(getActivity(),R.color.black));}}privatevoidsetLikeState(){if(mRadioLike.isChecked()){mRadioLike.setTextColor(ContextCompat.getColor(getActivity(),R.color.colorPrimary));}else{mRadioLike.setTextColor(ContextCompat.getColor(getActivity(),R.color.black));}}privatevoidsetMeState(){if(mRadioMe.isChecked()){mRadioMe.setTextColor(ContextCompat.getColor(getActivity(),R.color.colorPrimary));}else{mRadioMe.setTextColor(ContextCompat.getColor(getActivity(),R.color.black));}}这里需要注意的是setDefaultFragment();我写在onCreateVew里面,这里没有生效。写在onStart()方法中。@OverridepublicvoidonStart(){setDefaultFragment();//写在onCreateView中,当页面运行到其他Fragment再回来时,不会生效super.onStart();}说明:这些文章没有过多的文字说明,因为这些东西并不难,而且常用。相信很多人都非常了解他们。废话说多了,直接看代码就更清楚了。