yu_ni_image_widget 0.1.2 copy "yu_ni_image_widget: ^0.1.2" to clipboard
yu_ni_image_widget: ^0.1.2 copied to clipboard

A high-performance Flutter image widget with separated display and cache, classified memory management, and viewport priority scheduling.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:yu_ni_image_widget/yu_ni_image_widget.dart';
import 'pages/remote_image_page.dart';
import 'pages/persistent_image_page.dart';
import 'pages/local_image_page.dart';
import 'pages/evict_cache_page.dart';
import 'pages/style_demo_page.dart';
import 'pages/grid_list_page.dart';

void main() {
  YuniWidgetsBinding.ensureInitialized();
  runApp(const ExampleApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'YuniImageWidget 示例',
      theme: ThemeData(colorSchemeSeed: Colors.blue),
      home: const HomePage(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('YuniImageWidget 示例')),
      body: ListView(
        children: [
          ListTile(
            leading: const Icon(Icons.image),
            title: const Text('远程图片加载'),
            subtitle: const Text('默认占位图、自定义占位图、错误图'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context,
                MaterialPageRoute(builder: (_) => const RemoteImagePage())),
          ),
          const Divider(height: 1),
          ListTile(
            leading: const Icon(Icons.lock),
            title: const Text('持久化远程图片'),
            subtitle: const Text('导航离开再返回,验证不闪烁'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context,
                MaterialPageRoute(builder: (_) => const PersistentImagePage())),
          ),
          const Divider(height: 1),
          ListTile(
            leading: const Icon(Icons.folder),
            title: const Text('本地文件图片'),
            subtitle: const Text('从本地路径加载图片'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context,
                MaterialPageRoute(builder: (_) => const LocalImagePage())),
          ),
          const Divider(height: 1),
          ListTile(
            leading: const Icon(Icons.delete_sweep),
            title: const Text('清除缓存'),
            subtitle: const Text('evictByUrl 清除后强制重新加载'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context,
                MaterialPageRoute(builder: (_) => const EvictCachePage())),
          ),
          const Divider(height: 1),
          ListTile(
            leading: const Icon(Icons.palette),
            title: const Text('样式参数演示'),
            subtitle: const Text('圆角、圆形、背景色、边框、BoxFit、淡入时长'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context,
                MaterialPageRoute(builder: (_) => const StyleDemoPage())),
          ),
          const Divider(height: 1),
          ListTile(
            leading: const Icon(Icons.grid_view),
            title: const Text('相册网格(优先级调度)'),
            subtitle: const Text('快速滑动时视口内图片优先加载'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context,
                MaterialPageRoute(builder: (_) => const GridListPage())),
          ),
        ],
      ),
    );
  }
}
0
likes
135
points
9
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A high-performance Flutter image widget with separated display and cache, classified memory management, and viewport priority scheduling.

Repository (GitHub)
View/report issues

Topics

#image #cache #performance #scheduler #widget

License

MIT (license)

Dependencies

crypto, flutter, flutter_cache_manager, octo_image, yuni_widget

More

Packages that depend on yu_ni_image_widget