mobile_web_view 0.2.0-nullsafety.0 mobile_web_view: ^0.2.0-nullsafety.0 copied to clipboard
Wanted to show your awesome mobile app to other without letting them into the hassle of installing it? Thanks to flutter web (currently in beta) we have covered you.
import 'package:flutter/material.dart';
import 'package:mobile_web_view/mobile_web_view.dart';
import 'package:url_launcher/url_launcher.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
//
// Wrap your home widget with MobileWebView
//
home: MobileWebView(
// Sets background color
backgroundColor: Colors.blueGrey,
// Sets status bar Icon Color
statusBarIconColor: Colors.white,
// Content will build widgets to right side
content: Content(),
// Home Widget
child: MyHomePage(title: 'Flutter Demo Home Page'),
),
);
}
}
class Content extends StatelessWidget {
const Content({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Column(
children: <Widget>[
Text(
"Mobile web view",
style: TextStyle(
fontSize: 100,
fontWeight: FontWeight.bold,
color: Colors.white,
),
textAlign: TextAlign.center,
),
Text(
"Null-Safety✅",
style: TextStyle(
fontSize: 30,
fontWeight: FontWeight.bold,
color: const Color(0xFF16C60C),
),
textAlign: TextAlign.center,
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
TextButton(
onPressed: () =>
launch("https://pub.dev/packages/mobile_web_view"),
child: Text(
"pub.dev",
style: TextStyle(
fontSize: 40,
fontWeight: FontWeight.bold,
color: Colors.white,
decoration: TextDecoration.underline,
),
),
),
TextButton(
onPressed: () =>
launch("https://github.com/SirusCodes/mobile_web_view"),
child: Image.asset(
"assets/github.png",
height: 60,
),
),
],
)
],
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
textAlign: TextAlign.center,
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}