Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio 在颤振五秒钟后隐藏internet连接条_Android Studio_Flutter_Dart - Fatal编程技术网

Android studio 在颤振五秒钟后隐藏internet连接条

Android studio 在颤振五秒钟后隐藏internet连接条,android-studio,flutter,dart,Android Studio,Flutter,Dart,我是一个新手,我在YouTube上观看了一段关于添加互联网连接验证条的视频,但它是固定的,不会消失,我如何在指定时间后隐藏它 这是连接杆! Builder( 生成器:(BuildContext上下文){ 返回脱机生成器( ConnectionBuilder:(BuildContext上下文, ConnectivityResult连接,小部件子项){ 最终布尔连接= 连接性!=ConnectivityResult.none; 返回堆栈( fit:StackFit.expand, 儿童:[ 小孩

我是一个新手,我在YouTube上观看了一段关于添加互联网连接验证条的视频,但它是固定的,不会消失,我如何在指定时间后隐藏它

这是连接杆!

Builder(
生成器:(BuildContext上下文){
返回脱机生成器(
ConnectionBuilder:(BuildContext上下文,
ConnectivityResult连接,小部件子项){
最终布尔连接=
连接性!=ConnectivityResult.none;
返回堆栈(
fit:StackFit.expand,
儿童:[
小孩
定位(
左:0.0,
右:0.0,
身高:32.0,
子:动画容器(
持续时间:常量持续时间(毫秒:300),
颜色:
连接?颜色。来自RGBO(46,204,113,1):颜色。来自RGBO(231,76,60,1),
孩子:连接
?行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
正文(
“在线”,
样式:TextStyle(颜色:Colors.white),
),
],
)
:行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
正文(
“离线”,
样式:TextStyle(颜色:Colors.white),
),
大小盒子(
宽度:8.0,
),
大小盒子(
宽度:12.0,
身高:12.0,
子对象:循环压缩机指示器(
冲程宽度:2.0,
valueColor:
总是被打倒(
颜色(白色),
),
),
],
),
),
),
],
);
},
);
},
),
我把密码放进去,我看着


有人可以修改代码使其按我的要求工作吗?

您可以复制粘贴运行下面的完整代码
您可以使用
可见性包装
定位
,并在一段时间后将
可见
设置为

代码片段

_hideBar() {
    Timer(Duration(seconds: 5), () {
      setState(() {
        _visible = false;
      });
    });
  }

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _hideBar();
    });
  }

...

Visibility(
                visible: _visible,
                child: Positioned(
                  height: 32.0,  
工作演示

完整代码

import 'package:flutter/material.dart';
import 'package:flutter_offline/flutter_offline.dart';
import 'dart:async';

class DemoPage extends StatefulWidget {
  @override
  _DemoPageState createState() => _DemoPageState();
}

class _DemoPageState extends State<DemoPage> {
  bool _visible = true;
  _hideBar() {
    Timer(Duration(seconds: 5), () {
      setState(() {
        _visible = false;
      });
    });
  }

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _hideBar();
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Offline Demo"),
      ),
      body: OfflineBuilder(
        connectivityBuilder: (
          BuildContext context,
          ConnectivityResult connectivity,
          Widget child,
        ) {
          final bool connected = connectivity != ConnectivityResult.none;
          return Stack(
            fit: StackFit.expand,
            children: [
              child,
              Visibility(
                visible: _visible,
                child: Positioned(
                  height: 32.0,
                  left: 0.0,
                  right: 0.0,
                  child: AnimatedContainer(
                    duration: const Duration(milliseconds: 350),
                    color: connected ? Color(0xFF00EE44) : Color(0xFFEE4400),
                    child: AnimatedSwitcher(
                      duration: const Duration(milliseconds: 350),
                      child: connected
                          ? Text('ONLINE')
                          : Row(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: <Widget>[
                                Text('OFFLINE'),
                                SizedBox(width: 8.0),
                                SizedBox(
                                  width: 12.0,
                                  height: 12.0,
                                  child: CircularProgressIndicator(
                                    strokeWidth: 2.0,
                                    valueColor: AlwaysStoppedAnimation<Color>(
                                        Colors.white),
                                  ),
                                ),
                              ],
                            ),
                    ),
                  ),
                ),
              ),
            ],
          );
        },
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'There are no bottons to push :)',
            ),
            Text(
              'Just turn off your internet.',
            ),
          ],
        ),
      ),
    );
  }
}

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: DemoPage(),
    );
  }
}
导入“包装:颤振/材料.省道”;
导入“package:flatter_offline/flatter_offline.dart”;
导入“dart:async”;
类DemoPage扩展了StatefulWidget{
@凌驾
_DemoPageState createState();
}
类_DemoPageState扩展状态{
bool_visible=真;
_希德巴尔(){
计时器(持续时间(秒数:5),(){
设置状态(){
_可见=假;
});
});
}
@凌驾
void initState(){
super.initState();
WidgetsBinding.instance.addPostFrameCallback((){
_hideBar();
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“脱机演示”),
),
正文:OfflineBuilder(
connectivityBuilder:(
构建上下文上下文,
连接性结果连接性,
孩子,
) {
最终bool connected=连通性!=ConnectivityResult.none;
返回堆栈(
fit:StackFit.expand,
儿童:[
小孩
可见度(
可见:_可见,
孩子:定位(
身高:32.0,
左:0.0,
右:0.0,
子:动画容器(
持续时间:常数持续时间(毫秒:350),
颜色:已连接?颜色(0xFF00EE44):颜色(0xFFEE4400),
孩子:动画切换器(
持续时间:常数持续时间(毫秒:350),
孩子:连接
?文本(“在线”)
:行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
文本(“脱机”),
尺寸箱(宽度:8.0),
大小盒子(
宽度:12.0,
身高:12.0,
子对象:循环压缩机指示器(
冲程宽度:2.0,
valueColor:始终停止动画(
颜色(白色),
),
),
],
),
),
),
),
),
],
);
},
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
正文(
“没有要推的按钮:)”,
),
正文(
“只要关掉你的互联网。”,
),
],
),
),
);
}
}
void main()=>runApp(MyApp());
类MyApp扩展了无状态小部件{
//此小部件是应用程序的根。
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“颤振演示”,
主题:主题数据(
主样本:颜色。蓝色,
),
主页:DemoPage(),
);
}
}

该代码仅在打开应用程序时有效!我希望它随时出现。
import 'package:flutter/material.dart';
import 'package:flutter_offline/flutter_offline.dart';
import 'dart:async';

class DemoPage extends StatefulWidget {
  @override
  _DemoPageState createState() => _DemoPageState();
}

class _DemoPageState extends State<DemoPage> {
  bool _visible = true;
  _hideBar() {
    Timer(Duration(seconds: 5), () {
      setState(() {
        _visible = false;
      });
    });
  }

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _hideBar();
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Offline Demo"),
      ),
      body: OfflineBuilder(
        connectivityBuilder: (
          BuildContext context,
          ConnectivityResult connectivity,
          Widget child,
        ) {
          final bool connected = connectivity != ConnectivityResult.none;
          return Stack(
            fit: StackFit.expand,
            children: [
              child,
              Visibility(
                visible: _visible,
                child: Positioned(
                  height: 32.0,
                  left: 0.0,
                  right: 0.0,
                  child: AnimatedContainer(
                    duration: const Duration(milliseconds: 350),
                    color: connected ? Color(0xFF00EE44) : Color(0xFFEE4400),
                    child: AnimatedSwitcher(
                      duration: const Duration(milliseconds: 350),
                      child: connected
                          ? Text('ONLINE')
                          : Row(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: <Widget>[
                                Text('OFFLINE'),
                                SizedBox(width: 8.0),
                                SizedBox(
                                  width: 12.0,
                                  height: 12.0,
                                  child: CircularProgressIndicator(
                                    strokeWidth: 2.0,
                                    valueColor: AlwaysStoppedAnimation<Color>(
                                        Colors.white),
                                  ),
                                ),
                              ],
                            ),
                    ),
                  ),
                ),
              ),
            ],
          );
        },
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'There are no bottons to push :)',
            ),
            Text(
              'Just turn off your internet.',
            ),
          ],
        ),
      ),
    );
  }
}

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: DemoPage(),
    );
  }
}