Created
January 1, 2024 09:00
-
-
Save sonnny/18c682f228dda403772be0d943ed6f85 to your computer and use it in GitHub Desktop.
flutter demo of syntax view showing source file
This file contains hidden or 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'; | |
| import 'package:flutter_syntax_view/flutter_syntax_view.dart'; | |
| import 'package:get/get.dart'; | |
| import './dark_light.dart'; | |
| void main() { | |
| runApp(MaterialApp(home:MyApp(), | |
| debugShowCheckedModeBanner:false));} | |
| class MyApp extends StatelessWidget{ | |
| @override Widget build(BuildContext context) { | |
| DarkLight dl = Get.put(DarkLight()); | |
| return Scaffold( | |
| appBar: AppBar(title: Text('syntax demo'), | |
| actions: [IconButton(icon: Icon(Icons.lightbulb), | |
| onPressed: dl.toggle)]), | |
| body: Column(children:[Container( | |
| height: MediaQuery.of(context).size.height * 0.80, | |
| child: Obx(() => SyntaxView( | |
| code: code, | |
| syntax: Syntax.DART, | |
| syntaxTheme: (dl.dark.value == 'OFF') | |
| ? SyntaxTheme.ayuLight() | |
| : SyntaxTheme.monokaiSublime(), | |
| fontSize: 12.0, | |
| withZoom: true, | |
| withLinesCount: true, | |
| expanded: true))),],),);}} | |
| const String code = r""" | |
| // demo of flutter using flutter_syntax_view plugin | |
| // also shows getx plugin example | |
| // to create this flutter app | |
| // | |
| // flutter create syntax_test --empty | |
| // cd syntax_test | |
| // flutter pub add flutter_syntax_view | |
| // flutter pub add get | |
| // cut and paste main.dart below to main.dart | |
| // create a new file dark_light.dart | |
| // copy contents of dark_light.dart below to the file | |
| // | |
| // flutter run | |
| /****************** | |
| * main.dart | |
| *****************/ | |
| import 'package:flutter/material.dart'; | |
| import 'package:flutter_syntax_view/flutter_syntax_view.dart'; | |
| import 'package:get/get.dart'; | |
| import './dark_light.dart'; | |
| void main() { | |
| runApp(MaterialApp(home:MyApp(), | |
| debugShowCheckedModeBanner:false));} | |
| class MyApp extends StatelessWidget{ | |
| @override Widget build(BuildContext context) { | |
| DarkLight dl = Get.put(DarkLight()); | |
| return Scaffold( | |
| appBar: AppBar(title: Text('syntax demo'), | |
| actions: [IconButton(icon: Icon(Icons.lightbulb), | |
| onPressed: dl.toggle)]), | |
| body: Column(children:[Container( | |
| height: MediaQuery.of(context).size.height * 0.80, | |
| child: Obx(() => SyntaxView( | |
| code: code, | |
| syntax: Syntax.DART, | |
| syntaxTheme: (dl.dark.value == 'OFF') | |
| ? SyntaxTheme.ayuLight() | |
| : SyntaxTheme.monokaiSublime(), | |
| fontSize: 12.0, | |
| withZoom: true, | |
| withLinesCount: true, | |
| expanded: true))),],),);}} | |
| /************************ | |
| * dark_light.dart | |
| ***********************/ | |
| import 'package:get/get.dart'; | |
| class DarkLight { | |
| var dark = 'OFF'.obs; | |
| toggle() => dark.value = (dark.value == 'OFF') ? 'ON' : 'OFF';} | |
| """; |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
flutter demo how to show source code in an app using plugins flutter_syntax_view and getx.