FLUTTER ECOSYSTEM

harshilchovatiya/image_to_clipboard

ImageToClipboard 是一个简单高效的插件,旨在帮助 Flutter 应用程序将图像复制到剪贴板。此插件目前仅支持 Android。

image_to_clipboard 项目封面
Stars
0
Forks
0
最近推送(UTC)
2024年7月29日
项目状态
未归档
Harshil Chovatiya GitHub avatar
GITHUB User

Harshil Chovatiya ↗

Flutter Developer | Web Developer | Web Designer

语言DartKotlin

技术话题

此仓库发布的插件

使用的依赖

依赖清单 4 项
  • flutter{"sdk":"flutter"}
  • plugin_platform_interface^2.0.2
  • flutter_test开发依赖{"sdk":"flutter"}
  • flutter_lints开发依赖^3.0.0

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

ImageToClipboard

A Flutter plugin to copy images to the clipboard on Android. This plugin allows you to easily copy image files to the clipboard, enabling quick and convenient image sharing within your Flutter apps.

Description

ImageToClipboard is a simple and efficient plugin designed to facilitate the copying of images to the clipboard in Flutter applications. This plugin is currently supported on Android.

Features

  • Copy any image file to the clipboard.
  • Easy to integrate with your existing Flutter projects.
  • Handles file permissions and URI exposure securely.

Getting Started

To use this plugin, follow the steps below:

1. Add Dependency

Add the following dependency to your pubspec.yaml file:

dependencies:
  image_to_clipboard: ^0.0.1
2. Android Setup

In your Android project, you need to update the AndroidManifest.xml and provide a file provider path configuration.

Update AndroidManifest.xml

Add the following inside the <application> tag:

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</provider>
Create file_paths.xml

Create a new XML file named file_paths.xml in android/app/src/main/res/xml/ directory with the following content:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="external_files" path="."/>
</paths>
3. Request Permissions

Ensure you request the necessary storage permissions in your app. You can use the permission_handler package for this purpose.

Add the following permissions to your AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Usage

Here’s a simple example of how to use the ImageToClipboard plugin:

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ClipboardExample(),
    );
  }
}

class ClipboardExample extends StatefulWidget {
  @override
  _ClipboardExampleState createState() => _ClipboardExampleState();
}

class _ClipboardExampleState extends State<ClipboardExample> {
  String _status = 'Idle';

  Future<void> _copyImage(String path) async {
    String? result = await ImageToClipboard.copyImageToClipboard(path);
    setState(() {
      _status = result ?? 'Failed to copy image';
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Clipboard Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('Status: $_status'),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: () {
                // Replace with the actual path of your image file
                String imagePath = '/path/to/your/image.png';
                _copyImage(imagePath);
              },
              child: Text('Copy Image to Clipboard'),
            ),
          ],
        ),
      ),
    );
  }
}

Additional Information

  • Platform Support: Currently, this plugin supports only Android. iOS support will be added in future releases.
  • Permissions: Ensure that the necessary storage permissions are granted for the plugin to function correctly.
  • Documentation: For detailed documentation, refer to the package documentation.
  • Contributing: Contributions are welcome! Please check the CONTRIBUTING.md for guidelines on how to contribute.
  • Issues: If you encounter any issues, please file them on the issue tracker.

For more detailed information and updates, visit the GitHub repository.


By following the instructions and example provided, you can easily integrate the ImageToClipboard plugin into your Flutter applications and enable image copying to the clipboard on Android devices.