Android开发之RadioGroup和RadioButton导航效果

2025-05-07 20:14:11

最近在做一个新闻类结合社区的APP的时候,需要添加一个侧滑菜单的效果,考虑到可以使用DrawerLayout布局,但是问题是使用了DrawerLayout布局后,主页内容应该是一个Fragment类,类似QQ主页的效果,那么问题来了,如何在主页的底部添加TabHost导航的效果呢?之前使用过FragmentTabHost,在TeachCourse的另一篇文章里,使用过FragmentTahHost。

Android开发之RadioGroup和RadioButton导航效果

工具/原料

Android开发工具:Android Studio或Eclipse

虚拟设备或测试手机

一、设计布局文件

1、在一个DrawerLayout里面再使用一个FragmentTabHost添加TabHost导航效果,经过测试,发觉不行,于是考虑使用RadioGroup和RadioButton嵌套到Fragment里面,加载页面的时候,我们可以通过RadioButton选项,切换对应的Fragment

Android开发之RadioGroup和RadioButton导航效果
Android开发之RadioGroup和RadioButton导航效果

2、RadioButton在做表单的时候经常用到,在安卓开发中,Radio幞洼踉残Button需要和RadioGroup一起使用,表示在一组可选项中,只有一个可以被选中,RadioGroup状态改变的一个监视器OnCheckedChangeListener,RadioGroup使用的时候调用setOnCheckedChangeListener(),然后重写OnCheckedChangeListener中的onCheckedChanged()方法,比如:

Android开发之RadioGroup和RadioButton导航效果

3、OnCheckedChangeListener(RadioGroup,int)中有两个参数,RadioGroup表示当前哪个选项组通过ID获取对应选项组;int表示指定选项组下的选项被选中的ID,是否选中状态。

二、实现RadioButton底部导航

1、自定义RadioButton。RadioButton默认状态下,前面带一个小圆点,文字在小圆点的右边,同时设置的图片也不是刚好在文字上面,而我们的TabHost导航中不需要小圆点,如何去掉小圆点并让文字居中显示,我们可以自定义一个样式,命名:tabstyle,然后我们直接在RadioButton中引用即可,如下图:

Android开发之RadioGroup和RadioButton导航效果

2、在当前的案例里面,主布局文件(activity_drawer_layout.xml)使用DrawerLayout,然后添加侧滑的一个Fragment,在FrameLayout中加载单选按钮选中的Fragment,如下:

Android开发之RadioGroup和RadioButton导航效果

3、下面开始介绍Activity的编程,在主Activity中还算是比较简单,加载activity_drawer_layout.xml布局文件,然后获取DrawerLayout控件,控制策滑Fragment的开与关,这里可以先查以下资料,主要代码:

Android开发之RadioGroup和RadioButton导航效果
Android开发之RadioGroup和RadioButton导航效果

4、在单选项中,我们定义了三个Fragment,分别为:MessageFragment,ContactFragment和DynamicFragment,在三个Fragment中都放置一个ImageView控件,设置一张图片效果演示,如下:

Android开发之RadioGroup和RadioButton导航效果

5、同理,另外的ContactFragment、DynamicFragment布局一样,把src图片换了就行。最终测试,效果图如下:

Android开发之RadioGroup和RadioButton导航效果
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢