引言
支持收银应用的双屏交互场景,如:主屏(操作屏)+ 副屏(客显屏)
支持双屏安卓设备,主副屏均使用 flutter 进行开发,提供方法实现双屏间的通信交互。
新老方案对比
新方案统一技术栈,主副屏都使用 flutter 进行开发,降低开发及后期维护成本,通过创新的双引擎通信机制,确保了主副屏之间的高效交互。
flutter_subscreen_plugin (已开源)。
接入依赖:
在pubspec.yaml文件中进行插件引用:
dependencies:
flutter:
sdk: flutter
flutter_subscreen_plugin: ^1.0.8
指定主副屏入口:
在自己的 flutter-applicaion 应用内,lib下创建三个dart文件:
- main.dart (对应应用主入口)
- main_app.dart (封装我们主屏对应的ui【widget】)
- sub_app.dart (封装我们副屏对应的ui【widget】)
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:test_double_screen/main_app.dart';
import 'package:test_double_screen/sub_app.dart';
void main() {
var defaultRouteName = window.defaultRouteName;
if ("subMain" == defaultRouteName) {
//副屏
runApp(SubApp());
} else {
//主屏
runApp(MainApp());
}
}
主副屏通信:
主屏上的UI,我们添加一个按钮,点击生成一个随机