位置: 编程技术 - 正文

Android底部tab与标题栏相结合(android底部弹出页面)

编辑:rootadmin

推荐整理分享Android底部tab与标题栏相结合(android底部弹出页面),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android 底部选择菜单,android底部按钮设置,android tab,android实现底部菜单,android tab,android tab,android底部按钮设置,android tab,内容如对您有帮助,希望把文章链接给更多的朋友!

Android底部tab切换界面的实现比较简单,可以利用TabHost直接实现,实现方式网上资源很多。那么除了用特定的组件来实现tab外能不能自己写代码实现呢。答案是肯定的。还有一个很常用的问题,就是不同的tab界面能否实现不同的标题栏?这个需求在项目中经常碰到,本文将讲叙Android底部tab切换界面的实现以及它与标题栏的结合。实现效果图如下:

上图就是我们要实现的效果图,切换到不同的界面有不同的显示标题。不多说直接上代码。

首先当然是布局文件,先实现标题栏布局。新建title.xml文件

以上实现了标题栏的布局,title_left和title_right分别是标题栏的左、右按钮,默认情况下将其设置为不可见。

接下来就是tab栏布局文件的实现,新建一个tab.xml

Android底部tab与标题栏相结合(android底部弹出页面)

只需要看一部分就可以了,一个LinearLayout包括着一个View,ImageView和TextView,其中View是底部栏上方的那条横线。ImagView与TextView不用说,就是底部栏的头像和头像下方的文字。

主布局文件就是利用include把标题栏与底部栏融合到一起,并用ViewPage来显示不同页面。布局如下:

接下来的实现我们用到了Fragment,四个页面分别加载了四个Fragment。所以要写四个不同的fragment.xml,这个根据不同需求进行编写。那重头戏来了,下面贴出主程序。代码有点长,但不用担心,其实现原理很简单。

相信大家都能看懂,这里简单讲解一下。程序首先运行initTitle对标题栏进行初始化,在getView中定义一个list装上四个Fragment,方便之后的调用。initFragments()方法主要是完成对界面的加载和监听不到的触发事件。这里用到了Viewpage进行页面的切换。首先是监听底部栏按钮的的点击事件,点击的按钮触发ViewPage的setCurrentItem方法加载不同的ViewPage页。ViewPage对页面的变化进行监听,不同页面调用不同的setNavState()方法。最后就只剩下了解setNavState的作用了。setNavState方法用于对底部按钮的图标、字体状态还有标题栏的显示状态进行动态变化,switch(before)是操作之前点击的那个按钮的状态,switch(after)是操作之后点击的按钮的状态。

到这里主函数就讲完了。接下来要做是的就定义自己的Fragement,让它们去实现我们想要的界面。至此我们一个自定义的底tab界面就完成了。是不是很简单。以下我贴出源代码,下载不用积分,只希望对大家有点帮助。

代码下载

Android图片上传,可以选择多张图片,缩放预览,拍照上传等 仿照微信,朋友圈分享图片功能。可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图

Android回调机制的讨论 原文链接:

Android自定义系列(2)——拟物化类弹窗式视频播放窗口 这是个自定义样式的简易播放器窗口,建立在FrameLayout上的隐藏窗口,触发可显示视频窗口。实现了从asserts目录下播放视频资源。1.在主布局文件中,设

标签: android底部弹出页面

本文链接地址:https://www.jiuchutong.com/biancheng/386084.html 转载请保留说明!

上一篇:Android消息处理机制:源码剖析Handler、Looper,并实现图片异步加载(安卓消息处理机制)

下一篇:Android图片上传,可以选择多张图片,缩放预览,拍照上传等(安卓如何实现图片上传功能)

  • 材料用于非应税项目
  • 物流公司如何办理营运证
  • 个人服务费发票几个点
  • 其他应付款计入资本公积
  • 债务清偿如何进行税务处理
  • 什么情况下增值税进项税额要转出
  • 本金加收入减支出等于的是利润吗
  • 退货的增值税专用发票
  • 其他综合收益转入留存收益还是投资收益
  • 处置车辆收入缴税规定
  • 残保金上年在职工资总额
  • 利息支出税前扣除标准2020
  • 小规模定期定额计税依据
  • 技术服务开什么大类
  • 水利建设基金的缴费基数是什么
  • 不抵扣的发票怎么导入做账系统
  • 基金投资了能随时取出吗
  • 应付质保金到期怎么办
  • 先收到发票后到货分录
  • 暂估冲红的分录怎么写
  • 损益类科目的借方是增加还是减少
  • 王者荣耀电脑版怎么键盘操作
  • macbook无法调节音量
  • PHP:xml_set_end_namespace_decl_handler()的用法_XML解析器函数
  • php参数过滤封装类
  • php过滤emoji
  • 仓储费用结算方式有哪些
  • win10任务栏还原到下边
  • php判断两个给定值相同
  • 划拨用地无使用权怎么办
  • linux动态扩容
  • 保险公司的展业方式
  • 承包租赁
  • php异步请求方式
  • 每个月需不需要期末结账
  • framework开发教程
  • 应收账款余额在借方表示谁欠谁
  • 微信小程序商城创建
  • spring bootcsdn
  • echarts图大小设置
  • 前端框架三大框架
  • firewall enable
  • 行政性收费和事业性收费 财政局
  • java将整数转化为数组
  • mysql的查询缓存与redis的区别
  • 用于职工福利的固定资产折旧
  • 房地产企业印花税计入什么科目
  • 增值税专用发票查询系统官方网站
  • 出售其他债权投资产生的收益为什么计入留存收益
  • 将购进的材料用于自制生产用设备
  • 合适的库存产品包括
  • 公司的房租发票怎么记账
  • 收不回来的应收账款
  • 跨月的发票开错了该怎么办?
  • 账本结转下年怎么划线
  • 增值税进项税加计抵减
  • 出售二手固定资产如何开票
  • 64位 win10系统安装绿色版mysql-5.7.16-winx64的教程
  • xp系统可以双屏吗
  • 联想电脑BIOS启动键
  • windows91
  • mac文件权限
  • 简述linux系统中有哪些文件类型?
  • linux rsyslogd
  • mysql删除key
  • 32位win7安装
  • wind7安装
  • Linux安装配置jdk
  • alt用不了
  • javascript实现2048游戏示例
  • jQuery ajax的功能实现方法详解
  • Linux中删除文件夹的正确方式
  • css you
  • 简述python语言
  • javascript编程基础
  • javascript教程完整版
  • jQuery插件封装时如要实现链式编程,需要
  • 什么是城建税的纳税义务人
  • 宁夏地税局局长
  • 四川税务网上报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设