secondary_screen 2.1.1 copy "secondary_screen: ^2.1.1" to clipboard
secondary_screen: ^2.1.1 copied to clipboard

PlatformAndroid

A Flutter package for managing Android dual/secondary screen displays with a state-manager-agnostic service API.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:secondary_screen/secondary_screen.dart';

import 'order_display_screen.dart';
import 'promotion_screen.dart';
import 'sales_screen.dart';

Route<dynamic> generateRoute(RouteSettings settings) {
  switch (settings.name) {
    case '/':
      return MaterialPageRoute(builder: (_) => const SalesScreen());
    case 'sales':
      return MaterialPageRoute(builder: (_) => const SalesScreen());
    case 'presentation':
      return MaterialPageRoute(builder: (_) => const PromotionScreen());
    case 'order_display':
      return MaterialPageRoute(builder: (_) => const OrderDisplayScreen());
    default:
      return MaterialPageRoute(
          builder: (_) => Scaffold(
                body: Center(
                    child: Text('No route defined for ${settings.name}')),
              ));
  }
}

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

@pragma('vm:entry-point')
void secondaryDisplayMain() {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.landscapeLeft,
    DeviceOrientation.landscapeRight,
  ]);
  SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
  runApp(const MySecondApp());
}

class MySecondApp extends StatelessWidget {
  const MySecondApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      onGenerateRoute: generateRoute,
      initialRoute: 'presentation',
    );
  }
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const SecondaryScreenScope(
      autoShow: true,
      defaultRouteName: 'presentation',
      child: MaterialApp(
        onGenerateRoute: generateRoute,
        initialRoute: 'sales',
      ),
    );
  }
}
2
likes
145
points
269
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter package for managing Android dual/secondary screen displays with a state-manager-agnostic service API.

Repository (GitHub)
View/report issues

Topics

#dual-screen #multi-screen #android #display #presentation

License

MIT (license)

Dependencies

flutter

More

Packages that depend on secondary_screen

Packages that implement secondary_screen