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

Flutter项目之设置页

目录:

    • 1、实现效果图
    • 2、实现流程
      • 2.1、引入依赖
      • 2.2、封装弹窗工具类
      • 2.3、设置页
      • 2.4、路由中注册设置页面

1、实现效果图

在这里插入图片描述

2、实现流程

2.1、引入依赖

在这里插入图片描述

2.2、封装弹窗工具类

import 'package:fluttertoast/fluttertoast.dart';class CommontToast {static showToast(String msg) {Fluttertoast.showToast(msg: msg,toastLength: Toast.LENGTH_SHORT,gravity: ToastGravity.CENTER,timeInSecForIosWeb: 1,fontSize: 16.0);}
}

2.3、设置页

import 'package:flutter/material.dart';
import 'package:flutter_haoke/scopoed_model/auth_model.dart';
import 'package:flutter_haoke/utils/common_toast.dart';
import 'package:flutter_haoke/utils/scopoed_mode_helper.dart';class SettingPage extends StatelessWidget {const SettingPage({Key? key}) : super(key: key);Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text("设置")),body: TextButton(onPressed: () {//调用退出登录的逻辑ScopoedModelHelper.getModel<AuthModel>(context).logout();CommontToast.showToast("退出登录");},child: Text("退出登录")),);}
}

2.4、路由中注册设置页面

// 1.编写route文件 并编写routes基本结构
import 'package:fluro/fluro.dart';
import 'package:flutter/material.dart';
import 'package:flutter_haoke/loading.dart';
import 'package:flutter_haoke/pages/community_picker.dart';
import 'package:flutter_haoke/pages/home/index.dart';
import 'package:flutter_haoke/pages/loading.dart';
import 'package:flutter_haoke/pages/login.dart';
import 'package:flutter_haoke/pages/notfound.dart';
import 'package:flutter_haoke/pages/register.dart';
import 'package:flutter_haoke/pages/room_add/index.dart';
import 'package:flutter_haoke/pages/room_manager/index.dart';
import 'package:flutter_haoke/pages/roomdetail/index.dart';
import 'package:flutter_haoke/pages/setting.dart';class Routes {// 2.定义路由名称static String home = '/';static String login = '/login';static String register = '/register';static String roomdetail = '/roomDetail/:roomId';//设置页面static String setting = '/setting';static String roommanager = '/roommanager';static String roomAdd = '/roomAdd';static String community = '/community';static String loading = '/loading';// 3.定义路由处理函数static Handler _homeHandel = Handler(handlerFunc: (context, parameters) {return HomePage();},);static Handler _loginHandel = Handler(handlerFunc: (context, parameters) {return LoginPage();},);static Handler _registerHandel = Handler(handlerFunc: (context, parameters) {return RegisterPage();},);//设置页面static Handler _settingHandel = Handler(handlerFunc: (context, parameters) {return SettingPage();},);static Handler _roommanagerHandel = Handler(handlerFunc: (context, parameters) {return RoomManagerPage();},);static Handler _roomdetailHandel = Handler(handlerFunc: (context, parameters) {return RoomDetailPage(roomId: parameters["roomId"]![0],);},);static Handler _notfoundHandel = Handler(handlerFunc: (context, parameters) {return NotFoundPage();},);static Handler _roomAddHandel = Handler(handlerFunc: (context, parameters) {return RoomAddPage();},);static Handler _communityHandel = Handler(handlerFunc: (context, parameters) {return CommunityPickerPage();},);static Handler _loadingHandel = Handler(handlerFunc: (context, parameters) {return LoadingPage();},);// 4.编写函数 configureRoutes 关联路由名称和处理函数static void configureRoutes(FluroRouter router) {router.define(home, handler: _homeHandel);router.define(login, handler: _loginHandel);router.define(register, handler: _registerHandel);router.define(roomdetail, handler: _roomdetailHandel);//设置页面router.define(setting, handler: _settingHandel);router.define(roommanager, handler: _roommanagerHandel);router.define(roomAdd, handler: _roomAddHandel);router.define(community, handler: _communityHandel);router.define(loading, handler: _loadingHandel);router.notFoundHandler = _notfoundHandel;}
}

相关文章:

  • 基于PyTorch实现的Diffusion模型:从MNIST图像中学习生成能力
  • MyBatis 如何使用
  • Navicat导入JSON数据到MySQL表
  • 安卓环境搭建开发工具下载Gradle下载
  • git在分支上会退到某个指定的commit
  • 在边缘端进行tensorflow模型的部署(小白初探)
  • 今日算法题
  • 安装 MySQL8.0.17
  • Selenium2+Python自动化:利用JS解决click失效问题
  • GitHub开源项目esp32小智AI语音代码详解
  • 【C语言基础】C++ 中的 `vector` 及其 C 语言实现详解
  • 力扣 双指针算法(一)
  • 每日一题-力扣-2537. 统计好子数组的数目 0416
  • Java高频面试之并发编程-03
  • Qt QML实现Windows桌面颜色提取器
  • JVM:类加载子系统
  • android rtsp 拉流h264 h265,解码nv12转码nv21耗时卡顿问题及ffmpeg优化
  • 基于多模态深度学习的亚急性脊髓联合变性全流程预测与个性化管理技术方案
  • JVM:对象的实例化、直接内存
  • cfd笔记【1】简介
  • 重庆网站制作工作室/网上推广赚钱方法
  • 微信小程序开发报价/作品提示优化要删吗
  • 天津哪里有做网站的/ip域名查询网
  • 专门用于网页制作的软件/seo优化上海牛巨微
  • 网站建设目标个人博客dw/腾讯竞价广告
  • 湖南营销型网站建设报价/全球疫情最新数据消息