栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在应用程序主屏幕上显示警报对话框会自动在抖动中加载

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在应用程序主屏幕上显示警报对话框会自动在抖动中加载

我把它放在

initState
一个
State
(的
StatefulWidget
)。

将其放置在小部件的

build
方法中
Stateless
很诱人,但这将多次触发您的警报。

在下面的示例中,当设备未连接到Wifi时,它将显示警报,如果未连接,则显示[重试]按钮。

import 'package:flutter/material.dart';import 'package:connectivity/connectivity.dart';void main() => runApp(MaterialApp(title: "Wifi Check", home: MyPage()));class MyPage extends StatefulWidget {    @override    _MyPageState createState() => _MyPageState();}class _MyPageState extends State<MyPage> {    bool _tryAgain = false;    @override    void initState() {      super.initState();      _checkWifi();    }    _checkWifi() async {      // the method below returns a Future      var connectivityResult = await (new Connectivity().checkConnectivity());      bool connectedToWifi = (connectivityResult == ConnectivityResult.wifi);      if (!connectedToWifi) {        _showalert(context);      }      if (_tryAgain != !connectedToWifi) {        setState(() => _tryAgain = !connectedToWifi);      }    }    @override    Widget build(BuildContext context) {      var body = Container(        alignment: Alignment.center,        child: _tryAgain          ? RaisedButton(   child: Text("Try again"),   onPressed: () {     _checkWifi(); })          : Text("This device is connected to Wifi"),      );      return Scaffold(        appBar: AppBar(title: Text("Wifi check")),        body: body      );    }    void _showalert(BuildContext context) {      showDialog(          context: context,          builder: (context) => alertDialog( title: Text("Wifi"), content: Text("Wifi not detected. Please activate it."),          )      );    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号