首页 > 其他分享 >直播软件app开发,仿写导航栏快速实现页面导航

直播软件app开发,仿写导航栏快速实现页面导航

时间:2023-11-29 14:12:13浏览次数:45  
标签:选项卡 仿写 Text app tabController child override 导航

直播软件app开发,仿写导航栏快速实现页面导航

physics和dragStartBehavior属性的应用示例:

 


Copy code
TabBarView(
  controller: _tabController,
  physics: NeverScrollableScrollPhysics(), // 禁用滚动
  dragStartBehavior: DragStartBehavior.down, // 垂直滚动
  children: [
    // 子组件列表
    ...
  ],
)
 

onPageChanged: onPageChanged属性是一个回调函数,当用户滑动或切换选项卡时,将触发该函数。您可以在此回调函数中执行任何与选项卡切换相关的操作。

TabBar总结

通过将TabBarView与TabBar和TabController结合使用,您可以实现选项卡之间内容的同步切换。当用户切换选项卡时,TabController将相应地更新TabBarView中显示的内容,使用户能够轻松浏览不同的内容。TabBarView为创建选项卡式导航提供了便捷的方式,并且可以根据实际需求进行进一步的定制和样式设置。

 

TabBar实现底部导航的例子

 


 import 'package:flutter/material.dart';
void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyTabPage(),
    );
  }
}
class MyTabPage extends StatefulWidget {
  @override
  _MyTabPageState createState() => _MyTabPageState();
}
class _MyTabPageState extends State<MyTabPage> with SingleTickerProviderStateMixin {
  late TabController _tabController;
  @override
  void initState() {
    super.initState();
    _tabController = TabController(length: 3, vsync: this); // 3是选项卡数量
  }
  @override
  void dispose() {
    _tabController.dispose();
    super.dispose();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('微信'),
      ),
      body: TabBarView(
        controller: _tabController,
        children: [
          // 第一个选项卡的内容
          Container(
            child: Center(
              child: Text('聊天'),
            ),
          ),
          // 第二个选项卡的内容
          Container(
            child: Center(
              child: Text('群组'),
            ),
          ),
          // 第三个选项卡的内容
          Container(
            child: Center(
              child: Text('个人'),
            ),
          ),
        ],
      ),
      bottomNavigationBar: TabBar(
        controller: _tabController,
        tabs: [
          Tab(icon: Icon(Icons.chat), text: '聊天'),
          Tab(icon: Icon(Icons.group), text: '群组'),
          Tab(icon: Icon(Icons.person), text: '个人'),
        ],
        indicatorColor: Colors.blue, // 选中状态下的指示器颜色
        labelColor: Colors.blue, // 选中状态下的文本颜色
        unselectedLabelColor: Colors.grey, // 未选中状态下的文本颜色
      ),
    );
  }

 

以上就是直播软件app开发,仿写导航栏快速实现页面导航, 更多内容欢迎关注之后的文章

 

标签:选项卡,仿写,Text,app,tabController,child,override,导航
From: https://www.cnblogs.com/yunbaomengnan/p/17864716.html

相关文章

  • Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI -->
    Android之看“马达”如何贯通Android系统(从硬件设计-->驱动-->HAL-->JNI-->Framework-->Application)-如果天空不死-博客园https://www.cnblogs.com/skywang12345/p/3404808.html  在Android2.3(Gingerbread)系统的时候,我写过一篇关于“Android震动马达......
  • 【Azure Function App】如何修改Azure函数应用的默认页面呢?
    问题描述当在Azure中创建了一个函数应用(FunctionApp)后,访问默认URL会得到一个默认的页面。是否有办法修改这个默认页面呢?  问题解答在之前的博文中,介绍了修改AppService的默认页面。1:【Azure应用服务】AppService默认页面暴露Tomcat版本信息,存在安全风险:2:【Azure应用服务......
  • Mac杀掉自启动的app
     ls-l路径/app_name查看软件在不同用户对象时所拥有的权限,想恢复时保持修改前后一致即可路径查看:右击程序,在访达中显示去掉所有对象的执行权限:sudochmoda-x路径/app_name或 sudochmod-x路径/app_name当想恢复时:sudochmoda+x 路径/a......
  • uniapp 设置全局无需引入的变量 和 方法
    importAppfrom'./App.vue'import*asPiniafrom'pinia';import{createSSRApp}from'vue'exportfunctioncreateApp(){ constapp=createSSRApp(App) app.use(uviewPlus) app.use(Pinia.createPinia()); //在js里直接调用 ......
  • Spring MVC学习随笔-控制器(Controller)开发详解:调用业务对象、父子工厂拆分(applicati
    学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅第四章、SpringMVC控制器开发详解二4.1核心要点......
  • Planting poplar threes—the application of a Chinese way to control soil cadmium
    SituationsofsoilcadmiumpollutioninJapan Inthelastcentury,therewasaserioushealthaccidentinJapan,anoutbreakofItai-itaidisease,whichwascausedbythecadmiumpollution.   Inthe"Itai-itaiDisease"incidentinJapan,af......
  • 多平台小程序编译适配,超级App的基建利器?
    随着科技的飞速发展,我们正迅速进入一个以数字化为主导的时代。 在这个时代中,通信、小程序、快应用、云服务器等平台连接类软件如火如荼的发展,手机、手表、AR/VR眼镜等智能移动穿戴设备迅速的升级迭代,5G、芯片、算力等基础设施也以月的速度在全球竞相发布捷报。 与用户生......
  • Vue中process.env关键字,process.env.VUE_APP_BASE_API
    Vue中process.env关键字,process.env.VUE_APP_BASE_API:https://blog.csdn.net/coinisi_li/article/details/128547778 vue分环境配置变量及打包:https://blog.csdn.net/weixin_44794123/article/details/121682978?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.......
  • C# 比使用app.config,用自定义的ConnectionString
    usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.IO;usingSystem.Reflection;namespaceAssist{publicclassContextHelper{publicstaticstringConnectionString;publicstaticstringSerializePath=Path.GetDirector......
  • app上架一直显示审核中状态要怎么处理?
    ​当你提交一个应用到AppStore上时,它会经历一个审核过程。在这个过程中,苹果的审核人员会检查你的应用是否符合苹果的规定和标准。这个过程通常需要几天的时间,但是如果你的应用一直显示“审核中”状态,那么可能会有一些原因。1.应用审核队列太长苹果的审核队列通常很长,这意味着......