mongol 11.2.0
mongol: ^11.2.0 copied to clipboard
Flutter widget package for displaying and editing vertical Mongolian text.
import 'package:material_ui/material_ui.dart';
import 'package:mongol/mongol.dart';
import 'package:mongol_demo_app/demos/text_painter_demo.dart';
import 'demos/alert_dialog_demo.dart';
import 'demos/button_demo.dart';
import 'demos/editable_text_demo.dart';
import 'demos/emoji_cjk_demo.dart';
import 'demos/horizontal_listview_demo.dart';
import 'demos/input_decorations_demo.dart';
import 'demos/input_shortcuts_demo.dart';
import 'demos/keyboard_demo.dart';
import 'demos/list_tile_demo.dart';
import 'demos/max_lines_demo.dart';
import 'demos/mongol_text_field_demo.dart';
import 'demos/popup_menu_demo.dart';
import 'demos/resizable_text_demo.dart';
import 'demos/text_demo.dart';
import 'demos/text_span_demo.dart';
const versionTitle = 'Flutter mongol package 11.2.0';
void main() {
runApp(const DemoApp());
}
class DemoApp extends StatelessWidget {
const DemoApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
builder: (context, child) => MongolTextEditingShortcuts(child: child),
title: 'mongol',
theme: ThemeData(fontFamily: 'MenksoftQagan'),
home: Scaffold(
appBar: AppBar(title: const Text(versionTitle)),
body: const HomeScreen(),
),
);
}
}
class HomeScreen extends StatelessWidget {
const HomeScreen({super.key});
@override
Widget build(BuildContext context) {
return ListView(
children: const <Widget>[
DemoTile(title: 'MongolText', destination: TextDemo()),
DemoTile(title: 'MongolText.rich', destination: RichTextDemo()),
DemoTile(title: 'Emoji and CJK', destination: EmojiCjkDemo()),
DemoTile(title: 'MongolTextField', destination: MongolTextFieldDemo()),
DemoTile(
title: 'Input decoration',
destination: InputDecorationsDemo(),
),
DemoTile(title: 'Input Shortcuts', destination: InputShortcutsDemo()),
DemoTile(
title: 'MongolEditableText',
destination: MongolEditableTextDemo(),
),
DemoTile(title: 'MongolAlertDialog', destination: AlertDialogDemo()),
DemoTile(title: 'Keyboard', destination: KeyboardDemo()),
DemoTile(
title: 'Horizontal Listview',
destination: HorizontalListviewDemo(),
),
DemoTile(title: 'Max lines', destination: MaxLinesDemo()),
DemoTile(title: 'Resizable text', destination: ResizableTextDemo()),
DemoTile(title: 'Popup Menu', destination: PopupMenuDemo()),
DemoTile(title: 'MongolListTile', destination: ListTileDemo()),
DemoTile(title: 'Buttons', destination: ButtonDemo()),
DemoTile(title: 'MongolTextPainter', destination: TextPainterDemo()),
],
);
}
}
class DemoTile extends StatelessWidget {
const DemoTile({super.key, required this.title, required this.destination});
final String title;
final Widget destination;
@override
Widget build(BuildContext context) {
return ListTile(
title: Text(title),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => destination),
);
},
);
}
}