防止在抖动中调用相机活动后重置FormFieldText

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防止在抖动中调用相机活动后重置FormFieldText相关的知识,希望对你有一定的参考价值。

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

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  TextEditingController textController = TextEditingController();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Padding(
        padding: EdgeInsets.all(15),
        child: ListView(
          children: <Widget>[
            TextField(
            controller: textController,
            ),
            SizedBox(height: 10),
            GestureDetector(
              onTap : () async {
                 await ImagePicker.pickImage(source: ImageSource.camera);
              },
              child: Center(
                child: Icon(Icons.camera_alt, size:50),
              ),
            )
          ],
        ),
        )
    );
  }
}

我在观看影片后失去在文本字段中输入的文字.....请在这方面指导我。提前谢谢。

下面是颤动医生-v输出...**[√] Flutter(频道稳定,v1.12.13 + hotfix.8,在Microsoft Windows [版本10.0.18362.239],语言环境en-IN)•Flutter版本1.12.13 + hotfix.8位于C: flutter•框架修订版0b8abb4724(6周前),2020-02-11 11:44:36 -0800•发动机版本e1e6ced81d•Dart版本2.7.0

[√] android工具链-为Android设备开发(Android SDK版本29.0.3)•位于C: Users sonu AppData Local Android Sdk的Android SDK•未配置Android NDK位置(可选;对本机分析支持很有用)•平台android-29,构建工具29.0.3•ANDROID_HOME = C: Users sonu AppData Local Android Sdk•Java二进制文件位于:C: Program Files Android Android Studio jre bin java•Java版本OpenJDK运行时环境(内部版本1.8.0_152-release-1343-b01)•接受所有Android许可。

[√] Android Studio(版本3.4)•位于C: Program Files Android Android Studio的Android Studio•Flutter插件版本39.0.1•Dart插件版本183.6270•Java版本OpenJDK运行时环境(内部版本1.8.0_152-release-1343-b01)

[√] VS代码(1.43.1版)•VS代码位于C: Users sonu AppData Local Programs Microsoft VS代码•Flutter扩展版本3.8.1

[√]已连接设备(1个可用)•Redmi Y2•12c7f04•android-arm•Android 9(API 28)

•找不到问题!**截图....

答案

怎么样?

onTap: () async {
  FocusScope.of(context).unfocus();
  await ImagePicker.pickImage(source: ImageSource.camera);
},
另一答案

已解决。

实际上是其版本问题...

我使用的是稳定的v1.12.13 + hotfix.8,可以在开发通道上正常工作。

以上是关于防止在抖动中调用相机活动后重置FormFieldText的主要内容,如果未能解决你的问题,请参考以下文章

Android:调用相机意图后活动被破坏

从活动中调用相机,捕获图像并上传到服务器

锁定地图活动

调用ondraw后重置画布,然后再在android中调用它

使用javascript重置元标记以防止其刷新页面

如何在更改相机权限后阻止iOS应用重置?