这篇文章主要介绍了Android如何实现底部图标与Fragment,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、河西网络推广、微信平台小程序开发、河西网络营销、河西企业策划、河西品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供河西建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com效果如下:
1.首先在res下的drawable下新建四个图标的xml,分别把图标的选中和未选中的状态设置好,所有的图片可以放在res下新建的一个drawable-xhdpi目录下,这里仅展示一个图标的xml
2.在布局中开始布局:
3.新建四个Fragment类,这里仅展示一个
public class FenleiFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fenlei, container, false); return view; } }
4. 主界面中:
public class MainActivity extends AppCompatActivity { private RadioGroup rg; private Fragment[] mfragments; private FragmentManager fm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initview(); initdata(); } private void initdata() { //定义一个Fragment数组,存放四个Fragment mfragments=new Fragment[4]; mfragments[0]=new FenleiFragment(); mfragments[1]=new GouwucheFragment(); mfragments[2]=new QitaFragment(); mfragments[3]=new WodeFragment(); //获得Fragment管理者 fm = getSupportFragmentManager(); //处理 FragmentTransaction ft = fm.beginTransaction(); ft.add(R.id.framelayout,mfragments[0],"0"); ft.commit(); } private void initview() { rg=(RadioGroup) findViewById(R.id.rg); //RadioGroup的监听事件 rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { //找到当前选中的图标 RadioButton rb= (RadioButton) group.findViewById(checkedId); //找到所选图标的标签并转换为整数类型放到下面的方法中 int i = Integer.parseInt(rb.getTag().toString().trim()); showAndHideFragment(i); } }); } //展示和隐藏Fragment的方法 private void showAndHideFragment(int position) { FragmentTransaction transaction = fm.beginTransaction(); //如果没有fragment就在framelayout里面加上 if (!mfragments[position].isAdded()){ transaction.add(R.id.framelayout,mfragments[position],""+position); } //把所有的fragment设为隐藏 for (Fragment fragment:mfragments){ transaction.hide(fragment); } //把选中的设为显示 transaction.show(mfragments[position]); transaction.commit(); } }
感谢你能够认真阅读完这篇文章,希望小编分享的“Android如何实现底部图标与Fragment”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!