三款很酷很骚气的底部导航

2023-11-12

早上好,骚年,我是小菜,我的公众号「菜鸟翻身」会推荐 GitHub 上好玩的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注我

底部导航栏是 APP 最常用的功能之一,想最初都是自己自定义 ViewGroup 实现,后来 使用 RadioButton,在 Material Design 谷歌官方除了 TabLayout 和 Bottom Navigation, TabLayout 也是可以实现,如果设计允许,Bottom Navigation 可以直接用,最简单省事,关于 TabLayout 和 Bottom Navigation 吴小龙同学曾经有详细介绍,见:Android Design Support Library 之 TabLayout
Android Design Support Library 之 BottomNavigation,我这里就不介绍,今天我要着重分享我在 GitHub 看到三款效果很酷的底部导航栏,骚气的让我眼前一亮的让我只能喊,卧槽,牛逼,666。

ReadableBottomBar

简介

Android 另一个 Material Design Bottom Navigation 库,所有的设计和灵感来源于 Ranjit。

效果预览

源码地址

https://github.com/iammert/ReadableBottomBar

MeowBottomNavigation

简介

用 kotlin 编写的 Android 的简单&弯曲&材料底部导航。

效果预览

源码地址

https://github.com/shetmobile/MeowBottomNavigation

curved_navigation_bar

简介

用 Flutter 编写,可以轻松实现动画曲线导航栏。

效果预览

源码地址

https://github.com/rafalbednarczuk/curved_navigation_bar

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

三款很酷很骚气的底部导航 的相关文章

  • GLSurfaceView onDrawFrame 清除行为

    我在使用 GLSurfaceView 时遇到了不同的行为 据我所知 程序有责任清除每帧的缓冲区 颜色和深度 这意味着 如果我不清除缓冲区 我将获得最后一帧的内容 或双缓冲的前一帧 似乎无论在某些设备上如何 缓冲区都会被清除 我在一些测试设备
  • ViewPager 中的按钮滚动到特定页面

    我的 ViewPager 内的布局之一有一个按钮 R layout add site 我想要点击按钮的选项 它会滚动到我的特定页面 我已经可以选择滑动到特定页面 但我想同时拥有这两个选项 现在我确信有办法做到这一点 但由于某种原因 我无法弄
  • Android模拟器收不到推送通知

    我在谷歌云上使用推送通知 但是由于某种原因我无法在模拟器上接收推送通知 然而 当我在真实设备上测试时 同一个应用程序确实会收到通知 有其他人遇到过这个问题或找到解决方案吗 模拟设备具有网络访问权限 并且与真实设备具有相同的 Android
  • Kotlin 中使用 Retrofit @PartMap 的多部分请求错误 (Android)

    如果我在 Java 中使用这段代码 那么它工作得很好 当我在 kotlin 中转换该代码时 出现错误 Logcat 08 20 23 46 51 003 3782 3782 com qkangaroo app W System err ja
  • 具有多个 orderBy 的 Android firebase 查询

    我想检索我的 firebase 数据库中所有类型为 福音 的数据 这是我的数据库 DatabaseReference infoRef FirebaseDatabase getInstance geReference child info i
  • Android 多个 SurfaceView

    我正在尝试在一个屏幕上使用 3 个 SurfaceView 一个在上半部分 BoardView 一个在下半部分 StatusView 最后一个作为上半部分 TileView 上方的额外层 请参阅 main xml 我创建了一个类MySurf
  • 如何减少 Android 布局中文本之间的行距?

    我想减少所附布局中文本之间的行距 User12 5 部电影 改进 2 5 下面是 xml 我尝试删除 singleLine true 语句并尝试将其设置为 false
  • 在 Android Webview 中加载 Angular JS 网站的问题

    大家好我正在尝试加载GTV http gtvqa com Android WebView 中 它在移动浏览器中加载得很好 但在 webview 中则不行 这是我的代码 WebView theWebPage new WebView this
  • SwipeListView 47 度:以编程方式滑动第一项

    我想滑动第一个项目滑动列表视图 https github com 47deg android swipelistview on Activity启动以向用户显示SwipeListView是可滑动的 如何使用此 UI 元素以编程方式执行此操作
  • 自定义 URL 方案不是 Outlook 中的链接 (iOS/Android)

    我们的应用程序可以使用自定义 URL 方案启动 例如myapp mainpage param 123 当它作为链接包含在网页中时 此功能有效 而且 在 iOS 上 它可以在平台附带的邮件客户端中运行 用户注册并安装该应用程序后 他会收到一封
  • 取消正在执行的 AsyncTask 的理想方法

    我正在后台线程中运行远程音频文件获取和音频文件播放操作AsyncTask A Cancellable显示获取操作运行时间的进度条 我想取消 中止AsyncTask当用户取消 决定反对 操作时运行 处理这种情况的理想方法是什么 刚刚发现Ale
  • 如何从 Android 应用程序调试共享库 [单独的项目]

    我正在开发一个 Android 应用程序并在项目中使用密集的 C 代码 首先 我将c 源代码放入项目中 并使用以下指南在Android应用程序中具有本机调试的NDK功能 http tools android com recent using
  • Lcom/google/firebase/FirebaseApp 类中没有虚拟方法 zzbqo()Z;或其超类(“com.google.firebase.FirebaseApp”的声明

    在我的 Android 应用程序中 编译应用程序时出现错误 我正在最新的 android studio 中工作 并使用 Firebase UI Auth 和 Firebase 数据库 所有版本在应用程序级等级文件中都相同 那么为什么我收到此
  • 如何修复Android模拟器中“无法连接到相机服务”异常

    当我在模拟器中运行 Android 应用程序时 出现无法连接到相机服务异常 我已经阅读了各种现有的帖子 但没有一个修复了这个问题 显然是 Camera open 调用失败了 我最终想让网络摄像头在模拟器中运行 正如许多 SO 帖子所讨论的那
  • 旋转后,精灵和矩形位置在 Libgdx 中未对齐

    我有以下代码 其中紧密映射的精灵 矩形和多边形在 libgdx 中以相同角度旋转 旋转后矩形与精灵不对齐 虽然精灵在绘制时会旋转 但旋转后坐标和尺寸保持不变 矩形的情况并非如此 请参阅下面的代码和结果图 public void rotate
  • Android Wear Preview 未连接到 Wear Emulator

    我正在尝试为 Google Wear 设置开发环境并遵循 Google 的指示 http developer android com training wearables apps creating html但一旦我设置了端口转发 adb
  • 在 RadioButton 旁边添加 EditText

    我有一个习惯DialogPreference我想在其中有一个子类RadioGroup与三个单选按钮 前两个是香草RadioButton带有标题的组件 但对于第三个我想放置一个EditText直接在它的右侧 这样当选择该按钮时我可以输入自定义
  • 注意通知持续时间

    是否可以将抬头通知的持续时间设置为无限 现在它只显示 5 秒 已经尝试过不同的事情 例如更改类别 但持续时间始终为 5 秒 这是我的代码 Notification notification notificationBuilder setCa
  • 如何在android中创建nanohttpd服务器?

    其实我也查过一些问题 然后去github上找了一下 但我是新来的 我无法理解这个例子 我想在android中创建http服务器 这样我就可以在PC浏览器中访问它 我有一个类扩展 nanohttpd 的实例 但服务器无法工作 不知道为什么 我
  • Android - 下载 JSON 数据并保存到共享首选项

    我正在从 PHP 服务读取 JSON 数据 每当该 JSON 的版本发生变化时 我想将其存储在 Android 上 用新数据替换旧数据 JSON 仅用于填充 Spinner 我的问题是 JSON 有 36KB 可以将其存储在共享首选项中有一

随机推荐

  • 强化学习原理与python实现原理pdf_深度强化学习笔记——DQN原理与实现(pytorch+gym)...

    概要 本文主要总结深度强化学习中无模型基于值方法的DQN算法 说明其算法原理并用该算法在gym提供的cartpole上进行实现 有任何不准确或错误的地方望指正 1 DQN Deep Q Network 基本原理 DQN算法相当于对传统Q l
  • Python爬取的BOSS直聘的数据

    临近年末 互联网寒冬 的来临让大家倍感压力 大家纷纷感叹寒冬将至 但是 越是这个时候 越要明确自己的奋斗目标 不断的充实自己 提高自己的能力 为找工作打下坚实的基础 本次我们爬取了招聘网站上关于计算机视觉方向的招聘信息 并对于招聘信息进行分
  • 如何免费使用ChatGPT

    前段时间想使用一下CahtGPT产品说明文档 找了一大圈国内基本都收费或者需要开通会员的 需要使用所谓的算力 其实相对于所谓的算力和会员也可以理解 做一款产品是需要营利的 只是这个费用太贵了 可以对比一下官方报价 国外 国内 ChatGPT
  • 高级软件工程课程总结

    1 初识软件工程 1 1软件无处不在 软件定义世界 成为社会发展的潮流 软件在人类生活中扮演者越来越重要的角色 软件已经成为一个极其重要的产业形态 软件是软件工程的研究对象 也是软件工程的产品形态与客观存在 工程是将理论和知识应用于实践的科
  • PS制作表情包

    表情包制作 素材 效果图
  • Elastic学习:ES安装以及head插件安装

    这里首先先安装ELK三剑客 ElasticSearch LogStash Kibana 里面的ElasticSearch在widnows上的安装 如果官网下载慢或打不开的的话 可以尝试搜一下国内的镜像或者网盘什么的 1 下载解压安装包 2
  • python整数类型bcdoxx_appium+python搭建自动化测试框架_Tools安装(一) - 为你开出一树春天 - 博客园...

    appium python搭建自动化测试框架 Tools安装 一 作者的配置环境和版本 win10 python3 6 Appium v1 4 16 1 下载node https nodejs org en download 下载node
  • 【GIT】git 错误记录

    目录 error Your local changes to the following files would be overwritten by merge xxx git error the following untracked w
  • php是一种基于,一种基于Java技术的PHP编译器的设计与开发

    收稿日期 2003 06 03 作者简介 朱 1976 男 江苏南京人 江苏广播电视大学现代教育技术中心助理工程师 一种基于Java 技术的 PHP 编译器的设计与开发 朱 江苏广播电视大学 江苏 南京 210036 摘 要 为提高 PHP
  • 幸亏四年前,离职了

    从一个前同事了解 以前的组长去年10月份也跳槽了 在该公司时 只让我做界面和业务逻辑 以及GDAL 那时候就想 如果五年合同满了 就得指望组长吃饭了 没竞争力了 现在想想 如果不走 组长走了 只懂皮毛的我 该怎么混呢 看来谁也指望不上 就得
  • <a_range-picker>组件选择时间段的使用

    仅供学习 不可转载 研究了好长时间终于把选择时间段存到数据库和从数据库里面拿出来做到回显给弄明白了 在这里做一个非常详细的笔记 从前端的vue到后端整个的实现过程 效果图 思路 1 gt 首先这个组件的使用比较简单 直接拿过来用就可以了
  • 状态机修改C++风格注释为C风格注释

    include
  • 正大期货新闻:印度调高了棕榈油以及豆油的进口基础价格

    外媒2月15日消息 周二印度政府发布的声明称 印度调高了棕榈油和豆油的进口基础价格 因为海外价格大幅上涨 毛棕榈油的进口基础价格从1346美元 吨调高到1359美元 吨 33度精炼棕榈油从1368美元调高到1376美元 24度精炼这样从13
  • 5.44 综合案例2.0-矩阵键盘信息输入上传-OLED屏幕

    综合案例2 0 矩阵键盘信息输入上传 OLED屏幕 案例说明 1 应用场景 2 M320矩阵引脚说明 3 接线说明 搭建云平台环境 1 添加设备 2 创建设备类型 3 功能定义 创建物模型 代码 1 更改MQTT信息 测试 案例说明 矩阵键
  • 金九银十如何抱佛脚?2023最新大厂 Java 面试真题合集(附完整答案解析)

    2023 秋招眼看着就要来了 但是离谱的是 很多同学最近才想起来还有秋招这回事 所以纷纷临时抱佛脚 问我有没有什么快速磨枪的方法 我的回答是 有 说起来 临阵磨枪没有比背八股文更靠谱的了 很多人对这个很不屑 呵 背题家罢了 但国内大环境如此
  • QT项目超详细打包教程

    一 将QT项目调成为release模式并运行程序 二 在QT中点击项目 三 复制项目的构建目录 四 进入项目的构建目录 找到release文件并进入 五 在release文件夹下新建一个文件夹 任意起名 六 将release文件夹下生成的可
  • Golang 切片删除指定元素的几种方法

    文章目录 1 截取法 修改原切片 2 拷贝法 不改原切片 3 移位法 修改原切片 3 1 方式一 3 2 方式二 4 性能对比 5 小结 参考文献 Go 并没有提供删除切片元素专用的语法或函数 需要使用切片本身的特性来删除元素 删除切片指定
  • C++中两个栈实现一个队列

    引言 首先看这个标题的时候 需要联想到栈和队列的特点 栈是先进后出 队列是先进先出 假如三个元素1 2 3 将这三个元素依次入栈1后 再将栈1中元素依次出栈放入到栈2中 栈1中只留下最后一个元素1 此时栈2中由两个元素 接下来获取栈1中的栈
  • QT-子线程访问主界面UI控件的有效方法

    引言 当软件需要导入大量数据文本时 若显示控件操作放在主界面UI线程中 会导致在导入数据的过程中存在界面卡死的现象 这种现象在工业控制工况中中是致命的 因此本文章旨在实现非UI子线程对UI主线程的操作 这里举一个简单的Demo 大文本数据通
  • 三款很酷很骚气的底部导航

    早上好 骚年 我是小菜 我的公众号 菜鸟翻身 会推荐 GitHub 上好玩的项目 一分钟 get 一个优秀的开源项目 挖掘开源的价值 欢迎关注我 底部导航栏是 APP 最常用的功能之一 想最初都是自己自定义 ViewGroup 实现 后来