Android开发Tabhost+RadioGroup实现底部菜单栏

使用 RadioGroup和TabHost 实现底部菜单栏 使用 RadioGroup和TabHost 实现底部菜单栏, 立即下载

现在比较流行的是Tabhost+RadioGroup实现底部菜单栏,今天在公司没什么事,就想到了前几天做项目时遇到的底部实现菜单栏的问题。

实现菜单栏的功能,用的比较多的是tabhost,但是现在更多的是tabhost+radiogroup这种模式。

1,先来看看布局

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0.0dip"
            android:layout_weight="1.0" />

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.0"
            android:tabStripEnabled="false"
            android:visibility="gone" />

        <RadioGroup
            android:id="@+id/main_radio"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:background="@drawable/mmfooter_bg"
            android:gravity="clip_horizontal"
            android:orientation="horizontal"
            android:visibility="visible" >

            <RadioButton
                android:id="@+id/radio_button0"
                style="@style/main_tab_bottom"
                android:drawableTop="@drawable/tab_weixin_pressed"
                android:tag="radio_button0"
                android:background="@android:color/transparent"  
                android:text="@string/wjt" />

            <RadioButton
                android:id="@+id/radio_button1"
                style="@style/main_tab_bottom"
                android:drawableTop="@drawable/tab_address_normal"
                android:tag="radio_button1"
                android:background="@android:color/transparent"  
                android:text="@string/friend" />

            <RadioButton
                android:id="@+id/radio_button2"
                style="@style/main_tab_bottom"
                android:drawableTop="@drawable/tab_settings_normal"
                android:tag="radio_button2"
                android:background="@android:color/transparent"  
                android:text="@string/setting" />
        </RadioGroup>
    </LinearLayout>

</TabHost>

其中

 style="@style/main_tab_bottom"

这句是引用<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="main_tab_bottom">
        <item name="android:textSize">@dimen/bottom_tab_font_size</item>
        <item name="android:textColor">#ffffffff</item>
        <item name="android:ellipsize">marquee</item>
        <item name="android:gravity">center_horizontal</item>
        <item name="android:paddingTop">@dimen/bottom_tab_padding_up</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:button">@null</item>
        <item name="android:singleLine">true</item>
        <item name="android:drawablePadding">@dimen/bottom_tab_padding_drawable</item>
        <item name="android:layout_weight">1</item>
    </style>

    <style name="topBar">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">48dp</item>
        <item name="android:background">@drawable/top_bg</item>
    </style>

    <style name="topsearch">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">48dp</item>
        <item name="android:background">@color/whitesmoke</item>
    </style>

    <style name="topLeftButton">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_alignParentLeft">true</item>
        <item name="android:layout_centerVertical">true</item>
        <item name="android:layout_marginLeft">6dp</item>
    </style>

    <style name="backButton" parent="topLeftButton">
        <item name="android:background">@drawable/back</item>
        <item name="android:layout_width">30dp</item>
        <item name="android:layout_height">30dp</item>
        <item name="android:layout_marginLeft">15dp</item>
    </style>

</resources>

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <dimen name="bottom_tab_padding_drawable">2.0dip</dimen>
    <dimen name="bottom_tab_padding_up">5.0dip</dimen>
    <dimen name="bottom_tab_font_size">10.0dip</dimen>

</resources>
中的资源,这里比较注意的是

 <style name="main_tab_bottom">中

<item name="android:button">@null</item>的这一句和
         

 
            <RadioButton
                android:id="@+id/radio_button1"
                style="@style/main_tab_bottom"
                android:drawableTop="@drawable/tab_address_normal"
                android:tag="radio_button1"
                android:background="@android:color/transparent"  
                android:text="@string/friend" />

中的  android:background="@android:color/transparent"  如果这两句你不引用,你的底部菜单栏就会出现排版错乱

出现如图

添加以上两句后出现的是如图

代码下载如果有什么错误欢迎大家指出。





        
Android 使用RadioGroup实现底部菜单栏 使用RadioGroup实现的底部导航菜单栏 立即下载

相关推荐

第3章 zynq MII转GMII的配置和EMIO UART0的配置

本文介绍了在Vivado工程中实现MII转GMII接口适配的过程,同时配置EMIO UART0接口。主要内容包括:修改PS IP核添加UART0接口,使用concat IP核进行信号整合,调整GMII信号引脚连接,添加约束文件定义引脚映射,并最终生成bit流文件。通过详细的操作截图和TCL约束代码,展示了从硬件配置到生成可编程文件的完整流程,为Zynq平台开发提供了实用参考。

qq_36517072的博客 903

不能左右滑动--Tabhost底部放置[RadioGroup]

Tabhost底部放置+顶部gallery轮播+按下显示底部/移动/弹起隐藏底部-无高亮显示

734

jQuery 版本怎么选?别一上来就用最新版,老项目里这个坑很常见

jQuery 是一个封装好的 JavaScript 函数库,简称 JQ它的核心理念是jQuery 有 1.x、2.x、3.x 三个主要版本系列2.0 以上版本不再支持 IE6、IE7、IE8版本选择不能只看“新不新”,而要看项目兼容性和实际需求.min.js是压缩版文件,生产环境常用使用 jQuery 前必须先通过<script>正确引入基本就是没引入或引入失败可以快速绑定点击事件.animate()可以快速实现动画效果,但定位属性要设置好。

Web安全工具库 387

关于通过RadioGroup来实现TabHost底部菜单的效果以及TobHost的小技巧

感谢:http://blog.youkuaiyun.com/jevin05/article/details/6701148 最近搞sina微博,学到一个关于TabHost很不错的小技巧,分享之,共勉! 传统的TbaHost默认显示在屏幕上方,首先说一下如何显示在屏幕底部:设置TabWidget控件的android:layout_alignParentBottom="true"实现 ...

java开发指南博客 【转载】 175

自己动手写CPU(1)五级流水线及CPU第一条指令ori

自己动手写CPU(1)五级流水线及CPU第一条指令ori 动机 不知为何研一的自由时间突然多起来,可能人一闲下来就容易焦虑吧,hhhhhh。正好之前看到一本《自己动手写CPU》,就按照此书从头实做一遍MIPS指令集的CPU,也当做对大学课程的总结。之前看龙芯杯比赛的代码震惊到我了,想想那堆大佬本科在搞这东西而我本科在瓜瓜地刷分,感叹人之间的差距真的好大。痛定思痛,还是先动手做起来这才能假意安慰自己,我好像也不错。闲言少叙,让我们开始吧! 由于作者提供了各章实现的具体代码,所以该系列博客主要记录我过程中有哪些

谦豫 7079

基于74LS175的四人抢答电路设计(含详细设计分析及试错过程)

根据设计要求不难发现,只要有一人抢答,就会输出信号使指示灯常亮,此时其他人输入无效,适宜选择触发器,有人抢答时触发器输出由0变1,输出信号控制指示灯常亮,同时使CLR引脚输入0,触发器不工作,即其他选手不能再抢答。尝试加入一人抢答后其他人不可抢答功能,如下图,175四个~Q输出端接入同一个与非门,于是当有选手抢答时该与非门输出由0变1,将该信号输入U5A,U5A输出由1变0,接入~CLR即可使电路不再工作。但仿真时发现,该复位键仅可使抢答电路部分复位,计数部分只是暂停,并未复位。否则元器件将无法正常工作。

2202_75463653的博客 8191

RadioGroup+TabHost组合实现底部导航

当前最流行的底部导航组合就是RadioGroup+Frament了,但有时候我们并不能使用这样一堆==一对组合,本人接手一个项目,之前界面都是用Activity写的,现在又要建一个底部导航,于是就用这种方式实现了,需要的朋友可以做个参考!

weixin_36187973的博客 760

关于影响力最大化问题中贪心算法的一些理解

在影响力最大化问题中(Influence Maximization,以下简称IM),贪心算法是最早提出的一种解决方法,并且一直沿用至今。它基于IM问题所具有的单调性(Monotonicity)和子模性(Submodularity)使用一种Hill Climbing策略,不断使用Monte Carlo模拟来寻找在当前情况下的具有最大传播范围的节点,添加至种子集合,得到最终结果,算法伪代码如下所示: 这里算法1其实并没有使用MonteCarlo模拟,而只是使用了贪心的策略...

nianjuan1990的专栏 2852

点击导航栏切换页面的几种方式

1.RedioGroup+Fragment(推荐) 2.底部线性布局+帧布局(放fragment) 3.RedioGroup+Viewpager

zsr0526的博客 5万+

视觉检测在激光打码字符检测上的检测案例

在机器视觉检测技术中,OCR识别是比较典型的应用,应用的场景也比较丰富,基本上在制造业,每个工厂或者印刷厂都会用到视觉OCR识别检测,OCR字符识别的原理很简单,通过图像分割后,对字符进行学习、命名。在工业相机拍摄图像后,软件进行处理,从而读取结果。 随着技术的发展,激光打标技术被更多的应用在生产过程中,由激光打标代替油墨进行字符印刷,速度更快、效果更好。 但是随之而来的是在视觉检测上带来的影响,目前市面上应用的字符检测设备大多是由集成商单独开发的软件,在检测油墨印刷时,图像上的字符没有断点,非常连贯,所需

视觉检测设备-视觉检测系统-单张检测设备-卷料印品检测 1463

8,9,10,11,12,13代CPU特制win7 64位系统

对于7代以上的CPU装win7,在UEFI的模式下,如果不提前注入显卡驱动,就会一直卡在LOGO界面。对于此情况,我们推出一个内置了显卡和USB驱动的特制版win7系统。由于单文件已经大于了4G,所以推荐使用rufus来写入镜像安装。如还有问题,请记录下电脑配置,联系QQ11717907。制作完成以后,就可以通过U盘启动安装了。

海康威视技术支持 7251

android底部菜单栏demo

上一个项目已经做完了,这周基本上没事,所以整理了下以前的项目,想把一些通用的部分封装起来,这样以后遇到相似的项目就不用重复发明轮子了,也节省了开发效率。今天把demo贴出来一是方便以后自己查询,二是希望同时也能帮到大家。           底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏做。我这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前也做过但

wangkuifeng0118的专栏 4万+

Simulink智能驾驶场景探索:自动泊车系统设计与验证

自动泊车系统(APS)传感器模块:用于检测车辆周围的障碍物和其他车辆的位置。路径规划模块:根据传感器数据生成最优的泊车路径。控制器模块:根据路径规划结果生成转向角、速度等控制信号。执行器模块:根据控制器生成的信号调整车辆的方向盘、油门和刹车。在本实例中,我们将使用超声波传感器和摄像头来检测车辆周围的环境,并使用PID控制器实现自动泊车功能。通过本教程,我们介绍了如何使用 Simulink 进行自动泊车系统的仿真。背景介绍:理解自动泊车系统及其在智能驾驶中的应用。所需工具和环境。

MHD0815的博客 506

实现底部菜单栏

实现方式一:通过TabWidget实现 实现方式二:隐藏TabWidget,通过RadioGroup和RadioButton实现底部菜单栏

dingtie835110897的专栏 652

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android tabhost底部导航栏,FragmentTabHost+RadioGroup实现底部菜单栏

先上效果图布局文件:****主要代码:***package com.example.fragmentbottommenu; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTabHost; import android.vi...

weixin_32424555的博客 169

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

底部菜单栏(二) TabHost & RadioGroup 实现

需求:使用TabHost & RadioGroup实现底部菜单栏; 效果图: 实现分析: 1.目录结构: 代码实现: 1.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.c...

dibe49481448的博客 108

android底部菜单栏实现原理与代码

转自:http://www.jb51.net/article/32969.htm 最近学习安卓,很好奇类似微信这样的菜单栏怎么做的,结果就百度到了这篇文章,写的很详细,收了~ 贴上文章的内容~ 底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏做。我这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前也做过但是layout下的xml写

u011023096的专栏 650

android底部菜单栏实现

一 TabHost 布局文件 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent

Coder 6544

Android TabHost +Fragment 实现底部菜单栏

待完成。。。

Ricky 6165

Android底部菜单栏(用TabHost一次性加载耗内存)

上一个项目已经做完了,这周基本上没事,所以整理了下以前的项目,想把一些通用的部分封装起来,这样以后遇到相似的项目就不用重复发明轮子了,也节省了开发效率。今天把demo贴出来一是方便以后自己查询,二是希望同时也能帮到大家。            底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏做。我这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前

hello_rickey的专栏 412

android新浪微博底部导航,仿新浪微博底部菜单TabHost

先上效果图 此图就是我所实现的底部菜单栏xml布局如下:xmlns:tools="http://schemas.android.com/tools"android:id="@android:id/tabhost"android:layout_width="match_parent"android:layout_height="match_parent" >android:orientatio...

weixin_39525007的博客 379

android tabhost底部菜单栏实现原理与代码

底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏做,我这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前也做过但是layout下的xml写的太臃肿,这里去掉了很多不必要的层,个人看起来还是不错的,所以贴出来方便以后使用 上一个项目已经做完了,这周基本上没事,所以整理了下以前的项目,想把一些通用的部分封装起来,这样以

Genge 1538

关于安卓开发实现底部菜单栏(已过时做法,不建议使用)

将TabHost的标签放在底部 直接上代码 主代码: 1 package sdut; 2 3 import com.example.sdutfriends.R; 4 5 import android.app.AlertDialog; 6 import android.app.TabActivity; 7 import android.co...

defukwanmcth26174的博客 117

高仿拉手网第二章底部菜单栏

本篇博客也是只说思路,下篇博客会写详细代码和注视。本篇实现底部菜单栏fragment。在android4.0以后退出fragment废弃tabhost。所以本篇博客也用fragment 底部菜单栏有很多是用单选按钮组实现,在主页布局声明一个RadioGroup里面继续放置四个单选按钮RadioButton,横着排列,在局部最低,以及按钮选择器写按钮效果等。 RadioButton默认有一个

玩火猴子 1424

Android--底部菜单栏实现

Android--底部菜单栏实现 虽然网上有很多底部菜单栏的实现方式,但是实现方式各种各样,很多也不符合自己的口味,所以还是总结下底部菜单栏的实现方式,以便以后方便查询使用 实现方式一:通过TabWidget实现 这种方式主要是在布局中将TabWidget标签嵌套在RelativeLayout中,并且在TabWidget标签中中设置 android:layout_alignParentB

懒睡的猫 2238
上一篇: android ActivityGroup中子Activity的setResult()后的onActivityResult不运行的解决办法
下一篇: android 复制文字
Warkey_Song
博客等级 码龄14年 3粉丝 15原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值