目录:
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) ;
@override
Widget build ( BuildContext context) {
return Scaffold (
appBar: AppBar ( title: Text ( "设置" ) ) ,
body: TextButton (
onPressed: ( ) {
ScopoedModelHelper. getModel< AuthModel> ( context) . logout ( ) ;
CommontToast. showToast ( "退出登录" ) ;
} ,
child: Text ( "退出登录" ) ) ,
) ;
}
}
2.4、路由中注册设置页面
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 {
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' ;
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 ( ) ;
} ,
) ;
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;
}
}