virtual_platform 0.1.0 copy "virtual_platform: ^0.1.0" to clipboard
virtual_platform: ^0.1.0 copied to clipboard

discontinued

A package that simplifies the cross-platform development process by providing a virtual platform than can be changed at runtime.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:virtual_platform/virtual_platform.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  // final data = MediaQueryData.fromWindow(WidgetsBinding.instance.window);
  // mediaQueryDataNotifier = MediaQueryDataNotifier(data);
  virtualPlatformNotifier = VirtualPlatformNotifier(androidVirtualPlatform);
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Virtual Platform Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(),
        body: Column(
          children: [
            VirtualSubplatformDispatcher(
              other: () => TextButton(
                child: const Text('set to ios'),
                onPressed: () =>
                    virtualPlatformNotifier.chosenPlatform = iosVirtualPlatform,
              ),
              ios: () => TextButton(
                child: const Text('set to android'),
                onPressed: () => virtualPlatformNotifier.chosenPlatform =
                    androidVirtualPlatform,
              ),
            ),
            Builder(
              builder: (context) => Text(
                matchVirtualSubplatform(
                  context,
                  linux: () => "Linux",
                  androidSmartphone: () => "android s",
                  androidTabletLarge: () => "android l",
                  android: () => "android",
                  other: () => "other",
                ),
              ),
            ),
            VirtualSubplatformDispatcher(
              linux: () => const Text("Linux"),
              androidSmartphone: () => const Text("android s"),
              androidTabletLarge: () => const Text("android l"),
              android: () => const Text("android"),
              other: () => const Text("other"),
            ),
            VirtualPlatformDispatcher(
              linux: () => const Text("Linux"),
              android: () => const Text("android"),
              other: () => const Text("other"),
            ),
            Builder(
              builder: (_) => Text(
                matchVirtualPlatform(
                  linux: () => 'linux',
                  android: () => 'android',
                  other: () => 'other',
                ),
              ),
            ),
            ValueListenableBuilder<VirtualPlatform>(
              valueListenable: virtualPlatformNotifier,
              builder: (_, virtualPlatform, __) => Text(
                matchVirtualPlatform(
                  linux: () => 'linux',
                  android: () => 'android',
                  other: () => 'other',
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}
0
likes
0
pub points
4%
popularity

Publisher

verified publishermanuelplavsic.ch

A package that simplifies the cross-platform development process by providing a virtual platform than can be changed at runtime.

Repository (GitLab)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on virtual_platform