全部截图Flutter Android

问题描述

我正在尝试构建一个有助于拍摄整个屏幕(不包括AppBar)的屏幕截图的应用程序

我遇到了一个使用package:screenshot和package:image_gallery_saver的示例应用程序,并且能够成功运行它

但是保存到图库中的屏幕截图只是Flutter Logo,而不是Scaffold的整个主体。

我不明白我在做什么错。

请在下面查看我的代码并为我提供帮助

代码:

import 'dart:io';
import 'package:flutter/material.dart';
import 'package:screenshot/screenshot.dart';
import 'package:image_gallery_saver/image_gallery_saver.dart';


class MyApp2 extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',theme: ThemeData(

        primarySwatch: Colors.blue,),home: MyHomePage(title: 'Screenshot Demo Home Page'),);
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key,this.title}) : super(key: key);


  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;
   ScreenshotController screenshotController = ScreenshotController();

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
  }

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),body:  Screenshot(
      controller: screenshotController,child:  Container(
        child: new Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
                    Text(
                      'You have pushed the button this many times:' +    _counter.toString(),FlutterLogo(),],floatingActionButton: FloatingActionButton(
        onPressed: () async{
          _incrementCounter();

          screenshotController.capture().then((File image) async {
            //print("Capture Done");
            await ImageGallerySaver.saveImage(image.readAsBytesSync(),name: 'Sujiht'); // Save image to gallery,Needs plugin  https://pub.dev/packages/image_gallery_saver
            print("File Saved to Gallery");
          }).catchError((onError) {
            print(onError);
          });
        },tooltip: 'Increment',child: Icon(Icons.add),// This trailing comma makes auto-formatting nicer for build methods.
    );
  }

//  _saved(File image) async {
//    final result = await ImageGallerySaver.saveImage(image.readAsBytesSync());
//    print("File Saved to Gallery");
//  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)