高仿拉手网底部菜单实现FragmentActivity+Fragment+RadioGroup

简介:


先把欢迎页和引导页的代码上传了http://download.csdn.net/detail/u013134391/7183787不要积分的。

底部菜单条实如今4.0曾经都是用tabhost。如今基本都被fargmentActivity加RadioGroup替代。以下实现底部菜单相同是用后者实现。

先声明一组四个的RadioButton的RadioGroup的单选button组,然后呢对照拉手网我们就发现样子太不一样了,我们的另一个单选button的样式,这个我们写RadioButton的android:button="@null"属性去除样式。

另外拉手网的是上面图片以下是名称的样式,并且他的名城和图片在不通状态下颜色不同,这个就须要我们写几个button选择器selector,我们通过selector的不通状态来设置不通的图片。名称也是一样。再设置RadioButton设置他的android:drawableTop=""属性,这样图片就会在字的上面了。这样我们的底部菜单条的布局就写完了。

在我们点击底部的单选button的时候怎么切换,在我们刚刚写的底部菜单的布局上加入一个FramentLayout,占领除了底部菜单条的全部地方。

然后在主界面里,监听RadioGroup的切换,监听checkedChanged,以下我们准备4个Fragmenet的切换界面。这里的Fragment由于要向下兼容,所以我们使用的是扩展包里的Fragment,Fragment重写onCreateView方法,载入布局文件。
我们须要写一个adapter来帮我们管理这四个界面的切换,这里的adapter我们就写的是FragmentStatePagerAdapter,这里构造方法须要传入參数FragmentManager,全部我们的MainActivity须要继承的是FragmentActivity,这样才干this.getSupportFragmentManager()获取一个FragmentManager,这里须要必要实现getcount,由于我们就4个界面就直接写4。getItem这里我们用来初始化界面,推断当前是那个界面0就是主页了,其它以此类推。然后在RadioGroup监听的地方使用FrameLayout替换进行界面的替换//详细代码例如以下

//将frameLayout替换成第index个Fragment
                Fragment fragment = (Fragment) fragmentAdapter.instantiateItem(
                        frameLayout, index);
                //将第index个界面替换成fragment
                fragmentAdapter.setPrimaryItem(frameLayout, index, fragment);
                //提交

fragmentAdapter.finishUpdate(frameLayout);

http://download.csdn.net/detail/u013134391/7190025  代码无积分下载






本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5246764.html,如需转载请自行联系原作者

相关文章
|
传感器 数据可视化 搜索推荐
瓴羊Quick BI助力深圳光明环境水务公司举办水务数据应用大会暨第二届“光环杯”BI应用大赛
瓴羊Quick BI助力深圳光明环境水务公司举办水务数据应用大会暨第二届“光环杯”BI应用大赛
309 0
|
Java 微服务 Spring
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(六)(优化篇)开发篇-如何解决微服务开发环境请求实例转发到别人机器问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(六)(优化篇)开发篇-如何解决微服务开发环境请求实例转发到别人机器问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(六)(优化篇)开发篇-如何解决微服务开发环境请求实例转发到别人机器问题
|
消息中间件 NoSQL 中间件
Linux-中间件安装指南
Linux-中间件安装指南
301 0
|
安全 IDE Java
Java串口通信技术探究2:RXTX库单例测试及应用
Java串口通信技术探究2:RXTX库单例测试及应用
401 4
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的球馆预约系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的球馆预约系统的详细设计和实现
237 0
|
机器学习/深度学习 算法 TensorFlow
【深度学习】实验14 使用CNN完成MNIST手写体识别(TensorFlow)
【深度学习】实验14 使用CNN完成MNIST手写体识别(TensorFlow)
269 0
|
缓存 网络协议 C++
Element-UI中el-input输入值不显示
Element-UI中el-input输入值不显示
783 0
|
机器学习/深度学习 人工智能 自然语言处理
热加载技术:修改Python代码并实时查看结果 ⛵
本文讲解Python热加载技术,以及Reloading工具库的使用。暂停运行的代码,修改补充后重新运行,意味着训练了数个小时的模型参数被舍弃。热加载技术可以解决这个问题。
653 0
热加载技术:修改Python代码并实时查看结果 ⛵
|
数据采集 监控 网络协议
工控CTF_纵横网络靶场_工控蜜罐日志分析
工控CTF_纵横网络靶场_工控蜜罐日志分析
工控CTF_纵横网络靶场_工控蜜罐日志分析