问题描述
嗨,我想我的主屏幕等功能是启动屏幕,如果用户单击“被注视”按钮(位于启动屏幕上),它将导航到另一个页面(在我的情况下,另一个屏幕是登录屏幕) ),或者如果用户不想点击“开始显示”按钮,则6秒钟后。它将导航到另一个屏幕(在我的情况下,另一个屏幕是登录屏幕)我已经完成了这一部分,但是主要的问题出现在这里,当我单击“获取注视”按钮,然后继续播放视频时,它正在导航,但是我如何管理它问题 这是针对同一问题的github存储库,请修复此https://github.com/RitikRD/video22
import 'dart:async';
import 'package:Flutter/material.dart';
import 'package:video22/animation/FadeAnimation.dart';
import 'package:video22/screens/login.dart';
import 'package:video_player/video_player.dart';
class Splash extends StatefulWidget {
@override
_SplashPageState createState() => _SplashPageState();
}
class _SplashPageState extends State<Splash> {
VideoPlayerController _controller;
@override
void initState(){
super.initState();
Timer(Duration(seconds: 6),() => Navigator.pushReplacement(context,MaterialPageRoute(builder: (context) => Login())));
_controller = VideoPlayerController.asset('assets/Intro_Large.mp4')
..initialize().then((_) {
setState(() {
});
});
_controller.play();
_controller.setVolume(100.0);
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: _onBackpressed,child: Scaffold(
body: Stack(
fit: StackFit.expand,children: <Widget>[
new Container(
child: _controller.value.initialized ? AspectRatio(aspectRatio: _controller.value.aspectRatio,child: VideoPlayer(_controller),)
: Container(),),Column(
mainAxisAlignment: MainAxisAlignment.end,children: <Widget> [
new Container(child: GestureDetector(
onTap: () {Navigator.push(context,MaterialPageRoute(builder: (context) => new Login()));
},child: Text('Get Started',style: TextStyle(color: Colors.white,fontSize: 20.0,fontFamily: 'Pacifico'),)),new Container(
child: Text("LYF Line",style: TextStyle(fontSize: 68.0,color: Colors.white,SizedBox(height: 60.0,],)
],);
}
Future<bool> _onBackpressed() {
return showDialog(
context: context,builder: (context) => new AlertDialog(
title: new Text('Are you sure?'),content: new Text('Do you want to exit an App'),actions: <Widget>[
new GestureDetector(
onTap: () => Navigator.of(context).pop(false),child: Text("NO"),SizedBox(height: 16),new GestureDetector(
onTap: () {
_controller.pause();
Navigator.of(context).pop(true);},child: Text("YES"),) ?? false;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)