spoiler_widget 1.0.20 copy "spoiler_widget: ^1.0.20" to clipboard
spoiler_widget: ^1.0.20 copied to clipboard

A Flutter package to create spoiler animations similar to the one used in Telegram, allowing you to hide sensitive or spoiler-filled content until it's tapped or clicked.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'pages/spoiler_overlay_page.dart';
import 'pages/spoiler_text_field_page.dart';
import 'pages/spoiler_text_page.dart';
import 'pages/spoiler_text_wrapper_page.dart';

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

class MainApp extends StatefulWidget {
  const MainApp({super.key});

  @override
  State<MainApp> createState() => _MainAppState();
}

class _MainAppState extends State<MainApp> {
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      showPerformanceOverlay: true,
      home: _DemoListPage(),
    );
  }
}

class _DemoListPage extends StatelessWidget {
  const _DemoListPage();

  @override
  Widget build(BuildContext context) {
    final demos = <_DemoEntry>[
      _DemoEntry('SpoilerText', () => const SpoilerTextPage()),
      _DemoEntry('SpoilerTextField', () => const SpoilerTextFieldPage()),
      _DemoEntry('SpoilerTextWrapper', () => const SpoilerTextWrapperPage()),
      _DemoEntry('SpoilerOverlay', () => const SpoilerOverlayPage()),
      _DemoEntry('SpoilerOverlay Full', () => const SpoilerOverlayPage(fullPage: true)),
    ];

    return Scaffold(
      appBar: AppBar(title: const Text('Spoiler Widget Demos')),
      backgroundColor: Colors.white,
      body: ListView.separated(
        itemCount: demos.length,
        separatorBuilder: (_, __) => const Divider(height: 1),
        itemBuilder: (context, index) {
          final demo = demos[index];
          return ListTile(
            title: Text(demo.title),
            trailing: const Icon(Icons.chevron_right),
            onTap: () {
              Navigator.of(context).push(
                MaterialPageRoute(builder: (_) => demo.builder()),
              );
            },
          );
        },
      ),
    );
  }
}

class _DemoEntry {
  _DemoEntry(this.title, this.builder);
  final String title;
  final Widget Function() builder;
}
85
likes
0
points
822
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package to create spoiler animations similar to the one used in Telegram, allowing you to hide sensitive or spoiler-filled content until it's tapped or clicked.

Repository (GitHub)
View/report issues

Topics

#spoiler #text #particle #hidden #hide

License

unknown (license)

Dependencies

flutter

More

Packages that depend on spoiler_widget