【问题标题】:Flutter error "Multiple widgets used the same GlobalKey" - using ScreenShot with SocialShare plugins颤振错误“多个小部件使用相同的 GlobalKey” - 将 ScreenShot 与 SocialShare 插件一起使用
【发布时间】:2021-02-11 22:24:21
【问题描述】:

我不确定在哪里可以找到与我的应用程序中的另一个小部件共享相同全局密钥的额外小部件。我正在使用屏幕截图和社交分享插件。

https://pub.dev/packages/screenshot

https://pub.dev/packages/social_share

我想在分享到 Facebook Messenger 等社交媒体时上传屏幕截图。但我的控制台中出现以下错误,仅在添加屏幕截图控制器后发生;

Flutter Multiple widgets used the same GlobalKey

我在哪里遇到这个问题?我在状态内创建了截图实例;

class _StageBuilderState extends State<StageBuilder> {
    ScreenshotController screenshotController = ScreenshotController();

这是构建;

Widget createViewItem() {
    return Screenshot(
    controller: screenshotController,
          Column(
             children: <Widget>[
              child: Image.network( myavatar),
              child: IconButton(
                 icon: Icon(Icons.share),
                onPressed: () async {
                   await screenshotController.capture().then((image) async {
                   SocialShare.shareOptions("http://myurl", imagePath: image.path);
                      }
                   );
                 },
              ),
          ],
       ),
    ),
}

那么这个额外的小部件在哪里与我的应用程序中的其他小部件共享相同的全局键?我应该从哪里开始进行故障排除?

【问题讨论】:

    标签: flutter dart screenshot socialshare


    【解决方案1】:

    原来我必须将 Screenshot 控制器本地化并放在这里;

    Widget createViewItem() {
       ScreenshotController _screenshotController = ScreenshotController();
        return Screenshot(
        controller: screenshotController,
              Column(
                 children: <Widget>[
                  child: Image.network( myavatar),
                  child: IconButton(
                     icon: Icon(Icons.share),
                    onPressed: () async {
                       await screenshotController.capture().then((image) async {
                       SocialShare.shareOptions("http://myurl", imagePath: image.path);
                          }
                       );
                     },
                  ),
              ],
           ),
        ),
    }
    
     
    

    【讨论】:

      猜你喜欢
      • 2020-10-21
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      • 2018-09-26
      • 2019-06-07
      • 2020-10-01
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多