码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-05-22 11:13:42      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   class   c   code   

先把欢迎页和引导页的代码上传了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,布布扣,bubuko.com

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

标签:android   style   blog   class   c   code   

原文地址:http://blog.csdn.net/u013134391/article/details/26112177

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!