extended_image 10.1.0 copy "extended_image: ^10.1.0" to clipboard
extended_image: ^10.1.0 copied to clipboard

Official extension image, support placeholder for loading/failed state, cache network, zoom/pan, photo view, slide out page, editor (crop, rotate, flip), painting etc.

example/lib/main.dart

import 'package:extended_image/extended_image.dart';
import 'package:extended_image_library/extended_image_library.dart';
import 'package:ff_annotation_route_library/ff_annotation_route_library.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:oktoast/oktoast.dart';
import 'common/widget/memory_usage_view.dart';
import 'example_route.dart';
import 'example_routes.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  MyApp({super.key}) {
    if (!kIsWeb) {
      clearDiskCachedImages(duration: const Duration(days: 7));
    }
  }

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return OKToast(
      child: MaterialApp(
        title: 'extended image demo',
        debugShowCheckedModeBanner: false,
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        scrollBehavior: kIsWeb
            ? const ScrollBehavior().copyWith(
                dragDevices: <PointerDeviceKind>{
                  PointerDeviceKind.mouse,
                  PointerDeviceKind.touch,
                  PointerDeviceKind.stylus,
                  PointerDeviceKind.unknown,
                },
              )
            : null,
        builder: (BuildContext c, Widget? w) {
          w = Stack(
            children: <Widget>[
              Positioned.fill(child: w!),
              if (kDebugMode) const MemoryUsageView(),
            ],
          );
          if (!kIsWeb) {
            final MediaQueryData data = MediaQuery.of(c);
            w = MediaQuery(
              data: data.copyWith(
                textScaler: TextScaler.noScaling,
              ),
              child: w,
            );
          }

          return w;
        },
        initialRoute: Routes.fluttercandiesMainpage.name,
        onGenerateRoute: (RouteSettings settings) {
          return onGenerateRoute(
            settings: settings,
            getRouteSettings: getRouteSettings,
          );
        },
      ),
    );
  }
}

class CommonWidget extends StatelessWidget {
  const CommonWidget({
    super.key,
    this.child,
    this.title,
  });
  final Widget? child;
  final String? title;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(
          title!,
        ),
      ),
      body: child,
    );
  }
}

String get imageTestUrl => 'https://photo.tuchong.com/4870004/f/298584322.jpg';
2.02k
likes
160
points
292k
downloads

Documentation

API reference

Publisher

verified publisherfluttercandies.com

Weekly Downloads

Official extension image, support placeholder for loading/failed state, cache network, zoom/pan, photo view, slide out page, editor (crop, rotate, flip), painting etc.

Repository (GitHub)
View/report issues

Topics

#image #cropper #photo-view #editor #slide-out

License

MIT (license)

Dependencies

extended_image_library, flutter, meta, vector_math

More

Packages that depend on extended_image