Basic Mobile App Framework

This commit is contained in:
2021-01-23 11:57:07 -05:00
parent 997806b7f0
commit 28649bda73
19 changed files with 309 additions and 77 deletions

View File

@@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
class Body extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: RaisedButton(
onPressed: () {
// Back (popping)
// Navigator.pop(context);
// Go to Login Screen
Navigator.pushNamed(context, '/Login');
},
child: Text('Login'),
),
);
}
}

View File

@@ -0,0 +1,20 @@
import 'dart:async';
import 'dart:ui';
import 'package:flutter/services.dart';
import 'package:imagini/models/contact.dart';
import 'package:flutter/material.dart';
import 'package:imagini/bloc/bloc.dart';
class SplashBloc extends Bloc {
StreamSubscription _audioPlayerStateSubscription;
Stream<String> get example => _exampleSubject.stream;
Sink<String> get exampleSink => _exampleSubject.sink;
final StreamController<String> _exampleSubject = StreamController<String>();
SplashBloc();
void dispose() {
_exampleSubject.close();
}
}

View File

@@ -0,0 +1,38 @@
import 'package:flutter/material.dart';
import 'package:imagini/screens/splash/components/body.dart';
import 'package:imagini/screens/splash/splash-bloc.dart';
import 'package:imagini/bloc/bloc-prov.dart';
class SplashScreen extends StatefulWidget {
@override
_SplashScreenState createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
SplashBloc splashBloc;
@override
void initState() {
super.initState();
splashBloc = SplashBloc();
}
@override
void dispose() {
splashBloc.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return BlocProvider(
bloc: SplashBloc(),
child: Scaffold(
appBar: AppBar(
title: Text("First Screen"),
),
body: Body(),
),
);
}
}