titanflutter 1.0.6 copy "titanflutter: ^1.0.6" to clipboard
titanflutter: ^1.0.6 copied to clipboard

A next-generation Flutter-Native hybrid solution. TitanFlutter is a Flutter plugin which enables hybrid integration of Flutter for your existing native apps with minimum efforts.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:titanflutter/titanflutter.dart';
import 'simple_page_widgets.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();

    TitanFlutter.singleton.registerPageBuilders({
      'first': (pageName, params, _) => FirstRouteWidget(),
      'second': (pageName, params, _) => SecondRouteWidget(),
      'tab': (pageName, params, _) => TabRouteWidget(),
      'flutterFragment': (pageName, params, _) => FragmentRouteWidget(params),

      ///可以在native层通过 getContainerParams 来传递参数
      'flutterPage': (pageName, params, _) {
        print("flutterPage params:$params");

        return FlutterRouteWidget();
      },
    });

    TitanFlutter.handleOnStartPage();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Titan Flutter example',
        builder: TitanFlutter.init(postPush: _onRoutePushed),
        home: Container());
  }

  void _onRoutePushed(
      String pageName, String uniqueId, Map params, Route route, Future _) {
//    List<OverlayEntry> newEntries = route.overlayEntries
//        .map((OverlayEntry entry) => OverlayEntry(
//            builder: (BuildContext context) {
//              final pageWidget = entry.builder(context);
//              return Stack(
//                children: <Widget>[
//                  pageWidget,
//                  Positioned(
//                    child: Text(
//                      "pageName:$pageName\npageWidget:${pageWidget.toStringShort()}",
//                      style: TextStyle(fontSize: 12.0, color: Colors.red),
//                    ),
//                    left: 8.0,
//                    top: 8.0,
//                  )
//                ],
//              );
//            },
//            opaque: entry.opaque,
//            maintainState: entry.maintainState))
//        .toList(growable: true);
//
//    route.overlayEntries.clear();
//    route.overlayEntries.addAll(newEntries);
  }
}
0
likes
20
pub points
0%
popularity

Publisher

unverified uploader

A next-generation Flutter-Native hybrid solution. TitanFlutter is a Flutter plugin which enables hybrid integration of Flutter for your existing native apps with minimum efforts.

Homepage

License

unknown (LICENSE)

Dependencies

flutter, seeyou_service

More

Packages that depend on titanflutter