Skip to main content

live_island_kit 0.3.0 copy "live_island_kit: ^0.3.0" to clipboard
live_island_kit: ^0.3.0 copied to clipboard

iOS Live Activities and Android Live Updates with a single Dart API, no Swift or Kotlin. Dynamic Island, lock screen, presets, charts and a live preview.

example/lib/main.dart

// `CupertinoPageTransitionsBuilder` vive en `material` (Flutter 3.29) o en
// `cupertino` (versiones recientes): se importan los dos.
// ignore: unnecessary_import, unused_import
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

import 'catalog.dart';
import 'editor_screen.dart';
import 'model.dart';
import 'preset_screen.dart';

final model = ExampleModel();

void main() {
  runApp(const ExampleApp());
  model.init();
}

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

  @override
  Widget build(BuildContext context) => MaterialApp(
    title: 'live_island_kit',
    theme: ThemeData(
      useMaterial3: true,
      colorSchemeSeed: const Color(0xFF1F6FEB),
      // La transición de zoom de Android fotografía la pantalla nueva en una
      // textura con mipmaps y Impeller + OpenGL ES la rechaza en algunos emuladores.
      // Sin `const`: en Flutter recientes el constructor ya no lo es.
      pageTransitionsTheme: PageTransitionsTheme(
        builders: {TargetPlatform.android: CupertinoPageTransitionsBuilder()},
      ),
    ),
    home: const HomeScreen(),
  );
}

/// Lista de los 15 presets y el editor.
class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) => Scaffold(
    appBar: AppBar(title: const Text('live_island_kit')),
    body: ListView(
      children: [
        ListTile(
          leading: const Icon(Icons.tune),
          title: const Text('Editor'),
          subtitle: const Text(
            'Change texts, color and progress and see the result',
          ),
          onTap:
              () => Navigator.of(context).push(
                MaterialPageRoute<void>(builder: (_) => const EditorScreen()),
              ),
        ),
        const Divider(),
        for (final e in catalog)
          ListTile(
            leading: CircleAvatar(
              backgroundColor: e.preset.spec.accent,
              child: const Icon(Icons.bolt, color: Colors.white),
            ),
            title: Text(e.label),
            subtitle: Text(e.preset.runtimeType.toString()),
            onTap:
                () => Navigator.of(context).push(
                  MaterialPageRoute<void>(builder: (_) => PresetScreen(e)),
                ),
          ),
      ],
    ),
  );
}
1
likes
160
points
41
downloads
screenshot

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

iOS Live Activities and Android Live Updates with a single Dart API, no Swift or Kotlin. Dynamic Island, lock screen, presets, charts and a live preview.

Repository (GitHub)
View/report issues

Topics

#live-activities #dynamic-island #notifications #ios #android

License

MIT (license)

Dependencies

flutter, path_drawing, plugin_platform_interface

More

Packages that depend on live_island_kit

Packages that implement live_island_kit