Flutter,按下按钮后如何在Text Widget上粘贴数据?

Posted

技术标签:

【中文标题】Flutter,按下按钮后如何在Text Widget上粘贴数据?【英文标题】:Flutter, how to paste data on Text Widget after pressing the button? 【发布时间】:2021-12-03 09:19:58 【问题描述】:

对于我不完美的英语,我真的很抱歉;)

我从应用程序复制数据,我想在我的应用程序中点击按钮,它将数据复制并粘贴到小部件文本上

提前感谢您的帮助。

【问题讨论】:

【参考方案1】:

有一个名为Clipboard 的服务可以让您访问系统的剪贴板/粘贴板。它会给你一些ClipboardData,其中包含一些文本。

  void _getClipboardText() async 
    final clipboardData = await Clipboard.getData(Clipboard.kTextPlain);
    String? clipboardText = clipboardData?.text;
    print(clipboardText);
  

如何将其设置为文本小部件的完整示例

class MyHomePage extends StatefulWidget 
  const MyHomePage(Key? key, required this.title) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();


class _MyHomePageState extends State<MyHomePage> 
  String? _clipboardText;

  @override
  Widget build(BuildContext context) 
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            if (_clipboardText?.isNotEmpty == true)
              Text(
                '$_clipboardText',
                style: Theme.of(context).textTheme.headline4,
              ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _getClipboardText,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  

  void _getClipboardText() async 
    final clipboardData = await Clipboard.getData(Clipboard.kTextPlain);
    setState(() 
      _clipboardText = clipboardData?.text;
    );
  

【讨论】:

以上是关于Flutter,按下按钮后如何在Text Widget上粘贴数据?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 在按下按钮或 onpressed 事件后授予相机和麦克风权限

如何在flutter中登录后禁用用户返回

如何在按下按钮后禁用按钮,然后重新启用它?

如何在按下按钮时下载 Flutter Web 应用程序?

Flutter)我想知道如何通过按下按钮从创建的列表中删除项目

仅在用户按下 React Native 中的按钮后如何获取位置