Last active
November 30, 2020 18:11
-
-
Save manjotsidhu/352b66bcab1a3866b523b28a60f30055 to your computer and use it in GitHub Desktop.
Test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
void main() => runApp(new MyApp()); | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return new MaterialApp( | |
title: 'Timer', | |
theme: new ThemeData( | |
primaryColor: Colors.grey.shade800, | |
), | |
home: new MyHomePage(), | |
); | |
} | |
} | |
class MyHomePage extends StatelessWidget { | |
final GlobalKey<_MyTextWidgetState> textGlobalKey = new GlobalKey<_MyTextWidgetState>(); | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
appBar: AppBar( | |
title: Text("title"), | |
), | |
body: Column( | |
mainAxisAlignment: MainAxisAlignment.spaceAround, | |
children: <Widget>[ | |
IconButton( | |
icon: Icon(Icons.add_circle), | |
onPressed: () { textGlobalKey.currentState._toggle(false);}, | |
iconSize: 150.0, | |
), | |
MyTextWidget(key: textGlobalKey), //just update this widget | |
], | |
), | |
); | |
} | |
} | |
class MyTextWidget extends StatefulWidget{ | |
MyTextWidget({Key key}):super(key:key); | |
@override | |
_MyTextWidgetState createState() => _MyTextWidgetState(); | |
} | |
class _MyTextWidgetState extends State<MyTextWidget> { | |
bool _isButtonDisabled = true; | |
void _toggle(bool disabled) { | |
setState(() { | |
_isButtonDisabled = disabled; | |
}); | |
} | |
@override | |
Widget build(BuildContext context) { | |
return new RaisedButton( | |
child: new Text( | |
_isButtonDisabled ? "Hold on..." : "I'm Active" | |
), | |
onPressed: _isButtonDisabled ? null : () {_toggle(!_isButtonDisabled);}, | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment