当前位置: 首页 > news >正文

Flutter写一个android底部导航栏框架

废话不多说,上代码:
import 'package:flutter/material.dart';void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Bottom Navigation Bar',theme: ThemeData(primaryColor: Colors.blue,),home: MyHomePage(),);}
}class MyHomePage extends StatefulWidget {@override_MyHomePageState createState() => _MyHomePageState();
}class _MyHomePageState extends State<MyHomePage> {int _currentIndex = 0;final List<Widget> _pages = [HomePage(),SearchPage(),ProfilePage(),];@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Bottom Navigation Bar'),),body: _pages[_currentIndex],bottomNavigationBar: BottomNavigationBar(currentIndex: _currentIndex,onTap: (index) {setState(() {_currentIndex = index;});},items: [BottomNavigationBarItem(icon: Icon(Icons.home),label: 'Home',),BottomNavigationBarItem(icon: Icon(Icons.search),label: 'Search',),BottomNavigationBarItem(icon: Icon(Icons.person),label: 'Profile',),],),);}
}class HomePage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Center(child: Text('Home Page'),);}
}class SearchPage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Center(child: Text('Search Page'),);}
}class ProfilePage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Center(child: Text('Profile Page'),);}
}

在上述示例中,我们创建了一个MyHomePage小部件,它是StatefulWidgetMyHomePage包含底部导航栏和相关页面内容。通过BottomNavigationBarcurrentIndex属性,我们可以控制当前选中的导航项并在onTap回调中更新状态。

items属性中,我们设置了三个BottomNavigationBarItem,每个项都有一个图标和标签。当用户切换导航项时,onTap回调会更新currentIndex的值,然后使用此值来显示相应的页面。

在示例中,我们创建了三个简单的页面(HomePageSearchPageProfilePage),你可以根据自己的需求自定义这些页面的内容。

希望这个示例对你有帮助!

相关文章:

Flutter写一个android底部导航栏框架

废话不多说&#xff0c;上代码&#xff1a; import package:flutter/material.dart;void main() {runApp(MyApp()); }class MyApp extends StatelessWidget {overrideWidget build(BuildContext context) {return MaterialApp(title: Bottom Navigation Bar,theme: ThemeData(…...

关于自动化测试用例失败重试的一些思考

自动化测试用例失败重跑有助于提高自动化用例的稳定性&#xff0c;那我们来看一下&#xff0c;python和java生态里都有哪些具体做法&#xff1f; 怎么做 如果是在python生态里&#xff0c;用pytest做测试驱动&#xff0c;那么可以通过pytest的插件pytest-rerunfailures来实现…...

JS逆向之顶像滑块

本教程仅限于学术探讨&#xff0c;也没有专门针对某个网站而编写&#xff0c;禁止用于非法用途、商业活动、恶意滥用技术等&#xff0c;否则后果自负。观看则同意此约定。如有侵权&#xff0c;请告知删除&#xff0c;谢谢&#xff01; 目录 一、接口请求流程 二、C1包 三、ac 四…...

【css】textarea-通过resize:none 禁止拖动设置大小

使用 resize 属性可防止调整 textareas 的大小&#xff08;禁用右下角的“抓取器”&#xff09;&#xff1a; 没有设置resize:none 代码&#xff1a; <!DOCTYPE html> <html> <head> <style> textarea {width: 100%;height: 150px;padding: 12px 20p…...

Linux内核学习小结

网上学习总结的一些资料&#xff0c;加上个人的一些总结。 Linux内核可以分成基础层和应用层。 基础层包括数据结构&#xff0c;内核同步机制&#xff0c;内存管理&#xff0c;任务调度。 应用层包括文件系统&#xff0c;设备和驱动&#xff0c;网络&#xff0c;虚拟化等。文件…...

八、ESP32控制8x8点阵屏

引脚的说明如下 上图中 C表示column 列的意思,所有的C接高电压,即控制esp32中输出1L表示line 行的意思,所有的L接低电压,即控制esp32中输出为01. 运行效果 2. 点阵屏引脚...

使用gitee创建远程maven仓库

1. 创建一个项目作为远程仓库 2. 打包项目发布到远程仓库 id随意&#xff0c;url是打包到哪个文件夹里面 在需要打包的项目的pom中添加 <distributionManagement><repository><id>handsomehuang-maven</id><url>file:D:/workspace/java/2023/re…...

基于C#的应用程序单例唯一运行的完美解决方案 - 开源研究系列文章

今次介绍一个应用程序单例唯一运行方案的代码。 我们知道&#xff0c;有些应用程序在操作系统中需要单例唯一运行&#xff0c;因为程序多开的话会对程序运行效果有影响&#xff0c;最基本的例子就是打印机&#xff0c;只能运行一个实例。这里将笔者单例运行的代码共享出来&…...

2023-08-07力扣今日二题

链接&#xff1a; 剑指 Offer 29. 顺时针打印矩阵 题意&#xff1a; 如题 解&#xff1a; 麻烦的简单题&#xff0c;具体操作类似走地图&#xff0c;使用一个长度四的数组表示移动方向 我这边的思路是如果按正常的方向没有路走了&#xff0c;那转向下一个方向一定有路&am…...

Spring接口ApplicationRunner的作用和使用介绍

在Spring框架中&#xff0c;ApplicationRunner接口是org.springframework.boot.ApplicationRunner接口的一部分。它是Spring Boot中用于在Spring应用程序启动完成后执行特定任务的接口。ApplicationRunner的作用是在Spring应用程序完全启动后&#xff0c;执行一些初始化任务或处…...

奶牛排队 java 思维题

&#x1f468;‍&#x1f3eb; 5133. 奶牛排队 题目描述 约翰的农场有 n n n 头奶牛&#xff0c;每一头奶牛都有一个正整数编号。 不同奶牛的编号不同。 现在&#xff0c;这 n n n 头牛按某种顺序排成一队&#xff0c;每头牛都拿出一张纸条写下了其前方相邻牛的编号以及其…...

uniapp 微信小程序 判断数据返回的是jpg还是pdf,以及pdf预览

<template> <view class"approval-notice"><block v-for"(imgItem, idx) in drivingLicense" :key"idx">//如果是非图片&#xff0c;那就走pdf预览<view class"pdf-item" v-if"Object.keys(thumbnail).incl…...

SpringBoot 的事务及使用

一、事务的常识 1、事务四特性&#xff08;ACID&#xff09; A 原子性&#xff1a;事务是最小单元,不可再分隔的一个整体。C 一致性&#xff1a;事务中的方法要么同时成功,要么都不成功,要不都失败。I 隔离性&#xff1a;多个事务操作数据库中同一个记录或多个记录时,对事务进…...

Android中的ABI

Android中的ABI ABI是Application Binary Interface的缩写。 ABI常表示两个程序模块之间的接口&#xff0c;且其中一个模块常为机器码级别的library或操作系统。 ABI定义了函数库的调用、应用的二进制文件&#xff08;尤其是.so&#xff09;如何运行在相应的系统平台上等细节…...

Python爬虫在用户行为模型构建中的应用与挑战

嗨&#xff0c;大家好&#xff01;作为一名专业的爬虫代理&#xff0c;我今天要和大家分享一些关于爬虫与人类行为分析的知识。在数字化时代&#xff0c;我们每天都在互联网上留下大量的数据痕迹&#xff0c;通过分析这些数据&#xff0c;我们可以理解用户行为、性偏好和需求&a…...

LangChain与大模型的学习

这里写目录标题 问题记录1、库的版本问题 实例记录1、公司名生成2 提示模板的使用3LLM Chain 参考资料 问题记录 1、库的版本问题 openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(hostapi.openai.com, port443): Max retries excee…...

C语言标准定义的32个关键字

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。 …...

PE半透明屏是怎么制造的?工艺、材料、应用

PE半透明屏是一种新型的屏幕材料&#xff0c;具有半透明的特点。 它由聚乙烯&#xff08;PE&#xff09;材料制成&#xff0c;具有良好的透明度和柔韧性。PE半透明屏广泛应用于建筑、广告、展览等领域&#xff0c;具有很高的市场潜力。 PE半透明屏的特点之一是其半透明性。 它…...

linux文本三剑客---grep,sed,awk

目录 grep 什么是grep&#xff1f; grep实例演示 命令参数&#xff1a; 案例演示&#xff1a; sed 概念&#xff1a; 常用选项&#xff1a; 案例演示&#xff1a; awk 概念&#xff1a; awk常用命令选项&#xff1a; awk变量&#xff1a; 内置变量 自定义变量 a…...

leaflet-uniapp 缩放地图的同时 显示当前缩放层级

记录实现过程&#xff1a; 需求为移动端用户在使用地图时&#xff0c;缩放地图的同时&#xff0c;可以获知地图此时缩放的级别。 效果图如下&#xff1a;此时缩放地图级别为13 map.on() 有对应的诸多行为 查看官网即可&#xff0c;这里根据需要为--zoomstart zoom zoomend 代…...

COMSOL 6.1版本皮秒多脉冲激光烧蚀模型:双温变形几何烧蚀模拟系统——电子晶格温度清晰解...

COMSOL 6.1版本 皮秒多脉冲激光烧蚀模型 模型内容&#xff1a;涉及双温模型&#xff0c;变形几何&#xff0c;烧蚀&#xff0c;皮秒脉冲热源&#xff0c;电子、晶格温度 优势&#xff1a;模型注释清晰明了&#xff0c;各个情况都有涉及可参考性极强&#xff0c;可以修改&#x…...

KCD Beijing 2026 分享回顾:从 Device Plugin 到 DRA——GPU 调度范式升级与 HAMi-DRA 实践

KCD Beijing 2026 是近年来规模最大的 Kubernetes 社区大会之一&#xff0c;超过 1000 人报名参与&#xff0c;刷新了历届 KCD 北京的记录。HAMi 社区不仅受邀进行了技术分享&#xff0c;也在现场设立了展台&#xff0c;与来自云原生与 AI 基础设施领域的开发者和企业用户进行了…...

Net/Net Core微信公众号上传图片永久图片素材和内容中图片素材不能用MultipartFormDataContent的坑

测试了N次&#xff0c;不能用net自带的 MultipartFormDataContent&#xff0c;否则微信公众号会一直报错41005错误&#xff0c;具体原因不详&#xff0c;只能拼装head字符串实现&#xff0c;下面是封装好的上传永久素材和临时图片素材的方法&#xff0c;下面为测试好的代码&…...

如何成为一名出色的SEO优化师

如何成为一名出色的SEO优化师 在当今的数字化时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为了每个企业和个人网站获得流量和提升品牌知名度的关键手段。但是&#xff0c;成为一名出色的SEO优化师并非易事&#xff0c;需要掌握一系列专业知识和技能。本文将…...

10个HTTPie CLI高级功能实战技巧:从入门到精通API调试

10个HTTPie CLI高级功能实战技巧&#xff1a;从入门到精通API调试 【免费下载链接】cli &#x1f967; HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. 项目地址: https:/…...

提升Telegraf性能:未使用方法接收器的代码优化实战指南

提升Telegraf性能&#xff1a;未使用方法接收器的代码优化实战指南 在Go语言开发中&#xff0c;方法接收器&#xff08;Method Receiver&#xff09;是连接函数与结构体的重要桥梁&#xff0c;但过度使用或不当使用会导致性能损耗和代码冗余。Telegraf作为插件驱动的指标收集代…...

OpenClaw移动办公:Phi-3-mini-128k-instruct通过钉钉审批电子合同

OpenClaw移动办公&#xff1a;Phi-3-mini-128k-instruct通过钉钉审批电子合同 1. 为什么需要移动审批电子合同&#xff1f; 上周三我在高铁上收到法务同事的紧急消息&#xff1a;"有个供应商合同今天必须签完&#xff0c;但关键条款需要你确认"。当时手边既没电脑也…...

基于机器学习算法的亚马逊用户评论情感分析研究:深入探讨随机森林与决策树模型的应用及其实验评估

《基于随机森林和决策树的亚马逊用户评论情感分析研究》深入探讨了利用机器学习技术对亚马逊用户评论数据进行情感分析的方法&#xff0c;旨在为电商企业提供更精准的用户反馈处理工具&#xff0c;以辅助产品优化和服务改进 通过采用决策树模型和随机森林模型这两种不同的机器学…...

从零实现Clock页面置换算法:原理、代码与性能调优实战

1. 为什么需要页面置换算法&#xff1f; 想象你正在玩一个大型开放世界游戏&#xff0c;电脑内存就像你的背包空间。当背包装满时&#xff0c;每次捡新道具都需要先扔掉旧道具——这就是操作系统面临的内存管理问题。Clock算法就是那个帮你智能决定"扔哪件道具"的管家…...

OpenClaw故障排查:百川2-13B-4bits模型接口连接问题解决

OpenClaw故障排查&#xff1a;百川2-13B-4bits模型接口连接问题解决 1. 问题背景与现象描述 上周在尝试将本地部署的百川2-13B-4bits量化模型接入OpenClaw时&#xff0c;遇到了典型的Connection refused错误。这个问题困扰了我整整两天时间&#xff0c;期间尝试了各种常见解决…...