高仿拉手网底部菜单实现FragmentActivity+Fragment+RadioGroup
来源:互联网 发布:小鸡模拟器 知乎 编辑:程序博客网 时间:2024/04/29 04:32
先把欢迎页和引导页的代码上传了http://download.csdn.net/detail/u013134391/7183787不要积分的。
底部菜单栏实现在4.0以前都是用tabhost,现在基本都被fargmentActivity加RadioGroup替代。下面实现底部菜单同样是用后者实现。
先声明一组四个的RadioButton的RadioGroup的单选按钮组,然后呢对比拉手网我们就发现样子太不一样了,我们的还有一个单选按钮的样式,这个我们写RadioButton的android:button="@null"属性去除样式。另外拉手网的是上面图片下面是名称的样式,而且他的名城和图片在不通状态下颜色不同,这个就需要我们写几个按钮选择器selector,我们通过selector的不通状态来设置不通的图片,名称也是一样。再设置RadioButton设置他的android:drawableTop=""属性,这样图片就会在字的上面了。这样我们的底部菜单栏的布局就写完了。
在我们点击底部的单选按钮的时候怎么切换,在我们刚刚写的底部菜单的布局上添加一个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 代码无积分下载
- 高仿拉手网底部菜单实现FragmentActivity+Fragment+RadioGroup
- 高仿拉手网,底部菜单的实现 FragmentActivity+Fragment+RadioGroup
- 底部菜单实现(二):RadioGroup和fragment
- 高仿拉手网第二章底部菜单栏
- 仿RadioGroup实现底部导航
- Fragment + RadioGroup实现底部导航
- 仿拉手菜单
- 仿饿了么等APP底部菜单(Fragment实现)
- 【Android UI】RadioGroup+Fragment实现底部菜单栏
- Fragment+RadioGroup实现底部菜单栏(二)
- 利用fragment+radiogroup实现底部标题栏
- RadioGroup+Fragment实现底部导航栏
- 高仿拉手网欢迎页和引导页的具体代码实现
- TabHost、RadioGroup实现底部菜单导航
- TabHost、RadioGroup、ToolBar实现底部菜单导航
- 高仿拉手网欢迎界面和引导页
- 高仿拉手网-客户端+服务器完整教程
- Fragment+FragmentTabHost实现仿QQ底部菜单栏
- 高仿拉手网欢迎界面和引导页
- 高仿拉手网欢迎页和引导页的具体代码实现
- ACM练习之hdoj1042《N!》
- java语言学习---数组(进制转换)
- 高仿拉手网第二章底部菜单栏
- 高仿拉手网底部菜单实现FragmentActivity+Fragment+RadioGroup
- JPA和Hibernate的区别
- Jmeter+maven+Jenkins构建云性能测试平台(一)
- 使用Fitnesse进行接口自动化测试
- SEO技巧让你的关键词排名明
- centos brodcast
- 页面的缓存与不缓存设置
- MyEclipse优化技巧
- ios学习--XML&JSON解析