Android--使用RadioButton模拟底部导航栏

虚拟导航栏的完美解决方案 问题:android高版本的手机,已经支持全面屏,还有虚拟导航栏,即取代了低版本的物理按键(例如:home,back,window history键)。由于虚拟导航栏占用了屏幕的高度,而鉴于各厂商的手机rom定制化,往往采用原生的方法无法应用。于是,界面出现了各种问题。解决方案:这其实也可认为是系统修复性的方案。如下:1.添加工具类AndroidBug54971Workaroundpackage ... 阅读详情

使用RadioButton模拟底部导航栏


1、主布局文件main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

<!—设置底部导航栏 -->
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >

<!—引用底部导航栏的布局文件 -->
        <include
            android:id="@+id/footbar_layout_ly"
            layout="@layout/footbar_layout" />
    </LinearLayout>
</RelativeLayout>

2、底部导航栏的布局文件, footbar_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="60dip"
    android:background="@drawable/bottom_bg"
    android:orientation="horizontal" >

    <RadioGroup
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <RadioButton
            style="@style/navigation_bottom_radio"
            android:drawableTop="@drawable/bottom_home_d"
            android:text="@string/home_tv" />
        <RadioButton
            style="@style/navigation_bottom_radio"
            android:drawableTop="@drawable/bottom_looks_d"
            android:text="@string/style_tv" />
        <RadioButton
            style="@style/navigation_bottom_radio"
            android:drawableTop="@drawable/bottom_cam"
            android:gravity="center"
            android:text="拍照"/>
        <RadioButton
            style="@style/navigation_bottom_radio"
            android:drawableTop="@drawable/bottom_shopping_d"
            android:text="@string/shopping_tv" />
        <RadioButton
            style="@style/navigation_bottom_radio"
            android:drawableTop="@drawable/bottom_show_d"
            android:text="@string/show_tv" />
    </RadioGroup>

</LinearLayout>

3、在res/value/styles.xml中添加navigation_bottom_radio名称的布局

<resources>
    <style name="navigation_bottom_radio">

        <!-- 内部组件的排列 -->
        <item name="android:gravity">center_horizontal</item>

        <!-- 背景样式 -->
        <item name="android:background">@drawable/style_navigation_radio</item>

        <!-- 宽度 -->
        <item name="android:layout_width">fill_parent</item>

        <!-- 高度 -->
        <item name="android:layout_height">wrap_content</item>

        <!-- 设置RadioButton的原来图片为空 -->
        <item name="android:button">@null</item>

        <!-- 与其他组件宽度占相同比重 -->
        <item name="android:layout_weight">1.0</item>

        <!-- 底部的空隙 -->
        <item name="android:paddingBottom">2.0dip</item>

        <!-- 顶部的空隙 -->
        <item name="android:paddingTop">2.0dip</item>

        <!-- 文字的大小 -->
        <item name="android:textSize">11dip</item>

        <!-- 文字的颜色 -->
        <item name="android:textColor">@color/white</item>

    </style>
</resources>


4、在res\drawable目录下添加每个Radio的背景的样式style_navigation_radio.xml

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
  
    <!-- 选中 -->  
    <item android:drawable="@drawable/bottom_select_bg" android:state_checked="true"/>  
  
</selector> 







RadioButton 底部导航栏 使用RadioButton 实现底部导航源代码,AndroidStudio 可以运行的 立即下载

相关推荐

android 高仿微信底部菜单 用自定义的radiobutton和radiogroup实现,能实现气泡数字的效果

android 高仿微信底部菜单 用自定义的radiobutton和radiogroup实现,能实现气泡数字的效果,viewpager+自定义的radiobutton+radiogroup

模拟导航栏固定

转载自:https://blog.youkuaiyun.com/u011724770/article/details/52415859 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&g

Leijinxiu的博客 208

android中Fragment+RadioButton实现底部导航栏

在App中经常看到这样的tab底部导航栏 那么这种效果是如何实现,实现的方式有很多种,最常见的就是使用Fragment+RadioButton去实现。下面我们来写一个例子 首先我们先在activity_mian.xml定义布局,整个布局的外面是线性布局,上面是帧布局切换不同的Fragment,底下是RadioGroup嵌套的是RadioButton。代码如下所示: <?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android

【Android从零单排系列十】《Android视图控件——RadioButton》

小伙伴们,在上文中我们介绍了Android视图控件ImageView控件,本文我们继续盘点,介绍一下视图控件的第五个控件——RadioButton。在 Android 应用开发中,RadioButton是单选按钮,允许用户在一个组中选择一个选项。同一组中的单选按钮有互斥效果。(1)button属性:主要用于图标大小要求不高,间隔要求也不高的场合。(2)background属性:主要用于能够以较大空间显示图标的场合。(3)drawableLeft属性:主要用于对图标与文字之间的间隔有要求的场合。...

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 3585

以太网硬件核心:MAC、PHY、MII与交换机原理与实战排查

计算机网络通信的基础依赖于一套完整的硬件协议栈。在OSI模型中,数据链路层和物理层是实现设备间可靠、高效数据传输的基石。其核心原理在于将上层数据包封装成帧,并通过特定的介质访问控制与物理信号转换机制进行传输。这一过程的技术价值在于为上层应用提供了透明、稳定的通信信道,是互联网和所有局域网通信的物理承载。在嵌入式系统、网络设备开发及运维等应用场景中,深入理解底层硬件交互至关重要。本文将聚焦于以太网硬件的两大核心组件:负责逻辑成帧与流量控制的MAC控制器,以及负责数模转换与链路协商的PHY芯片。它们通过MII、

dgqvhtlwq472235338的博客 423

别再手动抓波形了!用Synopsys AXI VIP的Port Monitor自动收集事务数据(附完整连接Scoreboard代码)

当标准Port Monitor无法满足需求时,Synopsys提供的callback机制就像一套精密的手术工具,允许你深入VIP内部进行定制化改造。创建自定义监控点的四步法继承基类// 其他自定义字段...endclass重写目标phase方法// 克隆事务并发送到自定义端口在env中注册callbackcustom_cb);连接自定义端口到分析组件经典应用场景地址phase特定检查数据beat级监控自定义性能统计异常注入检测。

weixin_28716181的博客 397

直播系统搭建,Android使用RadioGroup+RadioButton实现导航栏

以上就是 直播系统搭建,Android使用RadioGroup+RadioButton实现导航栏,更多内容欢迎关注之后的文章。直播系统搭建,Android使用RadioGroup+RadioButton实现导航栏。分别对四个icon进行状态设置,选中的时候为黄色,按压的时候为灰色,默认为黑色。

云豹网络科技 311

CISP-PTE考前实操练习题

CISP-PTE考前学习练习题目,渗透测试功工程师

2301_79546223的博客 2000

uniapp模拟导航栏,自定义导航栏的使用

需求 在做uniAPP的时候,官方的导航栏不满足设计页面的需求,需要自定义才可以实现,于是就把原生的导航栏隐藏掉,自己来写导航栏来实现设计的自定义。 隐藏原生导航 只用个别的页面才需要自定义导航,所以我只在局部页面进行隐藏 局部页面隐藏 全局页面隐藏(一般用不到) ...

u011608672的博客 1489

Cesium进阶学习四、shadertoy(着色器)

Cesium进阶学习着色器

程迷学习的博客 4321

北京大学MuMo多模态肿瘤分类模型复现与迁移学习

本项目复现了北京大学MuMo多模态肿瘤分类模型,并针对特定医学影像数据集进行迁移学习。MuMo模型通过整合CT、MRI、PET等多模态医学影像数据,显著提升了肿瘤分类准确性。项目内容包括环境配置(Python 3.8+、PyTorch 1.9+)、数据预处理(DICOM/NIfTI格式处理、强度归一化)、多模态数据集类实现,以及训练验证测试集划分。关键特点是采用MONAI医学影像处理库,实现三维医学影像的标准化预处理流程,并支持多种模态数据的并行加载与联合训练,为后续模型复现和迁移学习奠定基础。

max500600的博客 1241

使用RadioButton模拟底部导航栏

使用RadioButton模拟底部导航栏       1、主布局文件main.xml   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:l

longyi_java的专栏 1万+

Python爬虫实战:如何从Google Maps和OpenStreetMap抓取地理坐标数据

地点名称:地理位置的名称或地址。地理坐标:经度和纬度。类别信息:比如餐馆、商店、公园等。评论数据:如果可用,获取用户评论。本文介绍了如何使用Python爬虫从Google Maps和OpenStreetMap抓取地理坐标数据,并展示了如何存储和分析这些数据。通过实际的代码示例,您可以学习到如何处理不同类型的地图数据抓取任务,以及如何应对反爬虫机制。掌握这些技术后,您可以进行更广泛的地理数据分析,提供更有价值的地理信息服务。

2201_76125261的博客 1040

AndroidUI之底部导航栏的四种实现

现在大多数App都会用到底部导航栏,比如常见的聊天工具QQ、微信,购物App等等,有了底部导航栏,用户可以随时切换界面,查看不同的内容。它的实现方式也很多,以前大多使用TabHost来实现,但是现在我们有很多更好的选择。 使用LinearLayout + TextView实现了底部导航栏的效果 首先看看工程目录: Step 1:实现底部选项的一些资源文件 图片Dra

pochenpiji159的博客 7589

芯片原厂linux驱动开发的分享

大家好,我是XX,来自湖南XX学院,电子信息18级,也曾在创新基地控制组学习过两三年,毕业后就职于一家芯片原厂的解决方案部,担任驱动工程师的职位,算上实习期,我的工作时长已有两年。在此我想将这两年期间学习与积累到的一些经验输出出来,与大家一同分享。知识面有限,只能简单介绍一些驱动开发方向的一些经验,且由于经验尚浅,文中难免会有一些疏漏和错误之处,还请大家积极地批评指正。

嵌入式技术开发 849

【nvidia-B200】实际生产报错NVRM: nvAssertFailedNoLog: Assertion failed: pIOVAS != NULL @ io_vaspace.c:601

升级 NVIDIA 驱动到 R545/R550 数据中心版本(解决 IOVA bug,这是性能差的根本原因);重启服务器(清理驱动残留资源,消除日志中的 NVRM 错误);验证 NVLink/PCIe 链路(确保 8 卡互联使用高速链路,而非单卡 PCIe 共享带宽)。完成这 3 步后,ncccl-test的all_reduce带宽应能提升至100GB/s 以上(取决于服务器的 NVLink/NVSwitch 配置),恢复正常性能。

jundao1997的专栏 651

底部四个按钮的设置+fragment的切换

public class MainActivity extends AppCompatActivity implements View.OnClickListener {     private Fragment fm;     private Home_Fragment fragment;     private Class_Fragment fragment2;     pri

X__boss的博客 1781

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

用button模仿radiobutton布局

使用LinearLayout和button来模仿radiogroup和radiobutton实现不知道有什么用,当做练笔好了 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width

shuijianbaozi的博客 454

Statistics and Machine Learning Toolbox

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

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android ViewPager+TabHost实现首页导航

今天发的是TabHost结合ViewPager实现首页底部导航的效果,虽然说网上有很多这样的Demo,不过呢,我还是要把自己练习写的发出来,没错!就是这么任性;先上效果图,如下:代码里面有注释,就不过多解释了,说几点需要注意的问题1:TabHost 、TabWidget、FrameLayout一定添加id这个属性,否则会报错android:id=”@android:id...

weixin_33824363的博客 498

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Fragment+自定义RadioButton实现底部导航栏,仿QQ

fragment碎片使用 自定义radiobutton控制drawabletop图片大小 仿QQ底部导航栏 简单实用项目框架 效果图项目DEMO地址:http://download.youkuaiyun.com/detail/wxk105/9564458MainActivitypublic class MainActivity extends FragmentActivity implements RadioG

wxk105的博客 1280

Android之底部導航欄--RadioGroup、TabHost、Fragment

Android底部導航欄,使用Fragment實現 老規矩,先看效果圖,因為不想拿4.1操作系統的手機,直接就用模擬器了 然後目錄結構 佈局文件內容 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" and

Francis-ChinaFeng 3134

Android底部导航栏显示偏右

用RadioButton做了个底部导航栏,在eclipse中用xml预览显示如下: 但运行在模拟器或真机上显示效果就偏左了: 这三张图片都是64*64分辨率的,代码中这三个RadioButton都是权值平均分配的。 求教是哪里的问题,该怎样解决呢?

cuitan6161的博客 847

RadioButton的背景图片和文字居中对齐

做了一个底部导航栏,使用的RadioButton,类似微信那种,遇到一个不居中的问题,最后发现很简单的一个tip。 Radio背景图片和文字居中 在编辑器上运行显示是正确的样式,安装到模拟器上运行就是不ok的,请看对比: 编辑器上运行显示位置都是预期的: 安装到模拟器上效果如下,图片和文字相对RadioButton是右对齐的 查了很久,发现说是这个属性都是右对齐: andro

莫负青春取自惭 4080

小杨的Android学习之旅(2)——模拟百度贴吧底部导航栏

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33691700的博客 139

解决某些手机RadioGroup中的RadioButton不居中(右移)问题

使用RadioButton实现底部导航栏时,偶尔会发生文字图片右移,不居中的情况,主要是受不同手机分辨率影响。想解决该问题,可以通过添加android:paddingLeft="0dp"属性来搞定!

无缘公子 2720
上一篇: Android--Android图像开源视图:SmartImageView
下一篇: Android--Android中的Selector的用法
Navan-3
博客等级 码龄16年 40粉丝 272原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值