【发布时间】:2019-12-17 01:08:02
【问题描述】:
我第一次尝试构建我的移动应用程序。如果没有互联网连接,如何显示 Snackbar?
这是一个颤振的 apss,具有连接性:^0.4.3+1 个包
这是我的连接状态
class NetworkSensitive extends StatelessWidget {
final Widget child;
NetworkSensitive({
this.child,
});
@override
Widget build(BuildContext context) {
var connectionStatus = Provider.of<ConnectivityStatus>(context);
if (connectionStatus == ConnectivityStatus.WiFi) {
return child;
}
if (connectionStatus == ConnectivityStatus.Cellular) {
return Container(child: Text('Koneksi Mobile'), );
}
if (connectionStatus == ConnectivityStatus.Offline) {
return Container(child: Text('Koneksi Offline'), );
}
}
}
这是我展示小吃店的家
import 'package:flutter/material.dart';
class HomeView extends StatefulWidget {
static const int CounterMargins = 60;
@override
_HomeViewState createState() => _HomeViewState();
}
class _HomeViewState extends State<HomeView> {
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey();
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
backgroundColor: backgroundColor,
body: Column(children: [
NetworkSensitive(child: _buildSimpleSnackBar(),
}
_buildSimpleSnackBar() {
return Container(
padding: EdgeInsets.all(8.0),
child: MaterialButton(
onPressed: () {
final snackBar = SnackBar(
content: Text("your'e Offline"),
);
_scaffoldKey.currentState.showSnackBar(snackBar);
},
color: Colors.blue,
child: Text(
"Show Simple SnackBar",
style: TextStyle(color: Colors.white),
),
),
);
}
}
该代码用于检查连接并在按下按钮后显示小吃栏,但如何在不按下按钮的情况下显示它
【问题讨论】:
-
您应该检查异步功能、蒸汽和 BLoC 模式。
标签: user-interface flutter dart