标签: flutter-dependencies

Flutter - 使用一次性块将 StatefulWidget 转换为 HookWidget

几周前我读到了关于flutter hooks 的内容,现在想在我的新项目中实现它。我的“基本”小部件是一个有状态的小部件,它具有某些项目原因的混合RouteAware原因。此外,每个人都有一个提供BehaviourSubject. RouteAware该块必须由 Widget 处理,这就是其 a的原因StatefulWidget。我在这里没有详细介绍,但 bloc 是通过许多依赖项构建的,并且像这样 MyWidget(bloc: //resolve bloc here) 一样传递。

有人可以帮我将其转换为 aHookWidget以及如何添加useAwareHook 吗?

class MyBloc{

 void dispose(){}

 void didPopNext(){}

 void didPush(){}


}

class MyWidget extends StatefulWidget{

  final MyBloc bloc;

  MyWidget({key, this.bloc}) : super(key: key);

  @override
  MyWidgetState createState() => MyWidgetState();


}


class MyWidgetState extends State<MyWidget> with RouteAware{

@override
  void didChangeDependencies() {
    super.didChangeDependencies();
    routeObserver.subscribe(this, ModalRoute.of(context));
  }

  @override
  void dispose() {
    routeObserver.unsubscribe(this);
    widget.bloc.dispose();
    super.dispose();
  }

  @override …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-dependencies flutter-hooks

0
推荐指数
1
解决办法
2524
查看次数

FLUTTER FIREBASE 更改为新实例不适用于 Android

我的客户最近更改了他们的 Firebase 实例(这意味着它在不同的项目下,在不同的谷歌登录中)。即他们有一个想要用于生产的新实例。我使用不同的名称创建了新实例和项目以避免任何混淆。因此,对于 Android,我删除了旧的 google-services.json 并从 Firebase 下载了新的,并将其复制到 android/app 目录中。然后我审查了项目级别和应用程序级别的 Gradel 文件。那里没有问题。我检查了新的 google-services.json 文件,可以清楚地看到它指向 Firebase 的新实例。下面是一个片段:

"project_info": {
"project_number": "506498949424",
"firebase_url": "https://lbds-aeb3d.firebaseio.com",
"project_id": "lbds-aeb3d",
"storage_bucket": "lbds-aeb3d.appspot.com"
Run Code Online (Sandbox Code Playgroud)

},

旧名称是 LittleBigDeals,而不是 lbds。

实际上,这个过程对于项目的 IOS 方面来说效果很好。该应用程序现在指向新数据库。然而,当我在 Android 上安装它时,它仍然从旧数据库中检索数据。

是否有我丢失的指针或者我需要在 Android 设置中刷新。

任何对此的帮助将不胜感激。

非常感谢。

firebase flutter google-cloud-firestore flutter-dependencies

0
推荐指数
1
解决办法
1752
查看次数

如何在flutter中请求位置权限?我尝试过一些方法,但没有用

它实际上是一个非常简单的应用程序,只询问位置。我对此进行了很多搜索,非常具有推测性的问题,每个人都有不同的说法,但我自己还无法解决。我想要的是,我想询问用户的位置权限。我将其添加到 pubspec.yaml 的依赖项中:

  permission_handler: ^5.0.1+1
Run Code Online (Sandbox Code Playgroud)

在 AndroidManifest.xml 中我添加了这些:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" ></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
Run Code Online (Sandbox Code Playgroud)

然后我就这样编写了 main.dart。没有做任何其他事情:

import 'package:flutter/material.dart';
import 'package:permission_handler/permiission_handler.dart';

void main() => runApp(MaterialApp(home: MyHome()));

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

class _MyHomeState extends State<MyHome> {
  PermissionStatus _status;

  @override
  void initState() {
    super.initState();
    PermissionHandler()
        .checkPermissionStatus(PermissionGroup.locationWhenInUse)
        .then(_updateStatus);
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Column(
        children: <Widget>[
          Text('$_status'),
          SizedBox(height: 60),
          RaisedButton(
            child: Text('Ask Permission'),
            onPressed: _askPermission,
          )
        ], //<Widget>[]
      ),
    ); //Column, SafeArea
  } …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-dependencies

0
推荐指数
1
解决办法
4096
查看次数

Flutter中有后退按钮时如何对齐应用栏

在我的应用程序栏中,我有文本和图像,但每次进入第二页时,文本和图像不再与中心对齐,因为左上角有后退按钮。

我只是想知道如何让它居中对齐,以便它在每个屏幕上看起来都一样。

     appBar: AppBar(
        title: Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              "Maxis",
              style:
                  TextStyle(fontFamily: "Raleway", fontWeight: FontWeight.w300),
            ),
            Image.asset(
              "assets/images/Image.png",
              width: 30,
            ),
            Text(
              "Mobile",
              style:
                  TextStyle(fontFamily: "Raleway", fontWeight: FontWeight.w300),
            ),
          ],
        ),
        centerTitle: true,
      ),


Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-test flutter-dependencies flutter-layout

0
推荐指数
1
解决办法
1678
查看次数

更改 flutter 原生闪屏包中图像的大小

我最近在我的 flutter 项目中导入了本机闪屏包。但是当我启动应用程序时,那里的图像太小了。请问有什么办法可以增大图片尺寸吗?

这是启动画面

我还添加了我的 pubspec.yaml 代码

flutter_native_splash:
 color: "#ffffff"
 image: assets/nakupnylistlogo.png
 android: true
 ios: true
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-dependencies flutter-layout

0
推荐指数
1
解决办法
3312
查看次数

Flutter:Google 和 Firebase 登录在生产中不起作用

我使用 google_sign_in 和 firebase_auth。这在模拟器中工作得很好,在编译 apk 并直接在真实设备上尝试时也工作得很好,但是当我将其发布到 Google Play 并从中安装我的应用程序时,它就不起作用了。

我没有收到任何错误。出现登录信息,当我单击其中一个帐户时,它会关闭而不执行任何操作。

从 Google 获取凭据后,我使用 Firebase 登录以获取该用户的真实数据:

Future googleSignIn(BuildContext context,
      [String? email, facebookCredential]) async {
    try {
      GoogleSignInAccount googleUser;
      dynamic popup = await _googleSignIn.signIn();

      // cancelled login
      if (popup == null) {
        return null;
      }

      googleUser = popup;

      GoogleSignInAuthentication googleAuth = await googleUser.authentication;
      final AuthCredential credential = GoogleAuthProvider.credential(
        accessToken: googleAuth.accessToken,
        idToken: googleAuth.idToken,
      );
      await _firebaseCredential(context, credential);
    } catch (error) {
      return null;
    }
  }

 _firebaseCredential(BuildContext context, credential) async {
      User user = …
Run Code Online (Sandbox Code Playgroud)

firebase firebase-authentication google-signin flutter flutter-dependencies

0
推荐指数
1
解决办法
2760
查看次数

为什么我的 flutter 应用程序在从互联网加载 pdf 时不断崩溃?

我正在 flutter 中构建一个应用程序,可以从互联网上读取 pdf 文件。我使用的软件包是“advance_pdf_viewer”。我已按照文档中的说明进行操作。但我的应用程序总是在显示圆形进度指示器小部件后几秒钟崩溃。

这是我的代码

//@dart=2.9
import 'package:flutter/material.dart';
import 'package:advance_pdf_viewer/advance_pdf_viewer.dart';

class PDFviewerPage extends StatefulWidget {
  const PDFviewerPage({Key key}) : super(key: key);

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

class _PDFviewerPageState extends State<PDFviewerPage> {
  bool _isLoading = true;
  PDFDocument _document;

  loadDocument() async {
    setState(() {
      _isLoading = true;
    });
    final document = await PDFDocument.fromURL(
        "https://unec.edu.az/application/uploads/2014/12/pdf-sample.pdf");
    setState(() {
      _document = document;
      _isLoading = false;
    });
  }

  @override
  void initState() {
    super.initState();
    loadDocument();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar( …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-dependencies

0
推荐指数
1
解决办法
2588
查看次数

如何在 Flutter 中使用具有正文和标头的 POST 请求从 URL 下载 .pdf 文件?

我正在尝试从具有 POST 请求且主体在 Flutter 中的 URL 下载 .pdf 文件。我正在使用 Dio 插件进行网络调用。

到目前为止,这是我尝试做的事情:

Dio dio = Dio();
late Response response;


Future<APIResponse> downloadFile({token}) async {
    await dio
        .post('https://www.example.com/sample/download',
            data: {
              {"month": "January", "year": "2022"}
            },
            options: Options(
              headers: {
                'Authorization': 'Bearer $token',
              },
            ))
        .then((value) {
      if (value.statusCode == 200) {
        response = value;
        // here I need the file to be downloaded
        // specific folder would be /downloads folder in Internal Storage
      }
    });
    return APIResponse.fromJson(response.data);
  }
Run Code Online (Sandbox Code Playgroud)

但据我检查,Dio 没有带下载选项的 POST 方法。 …

dart flutter flutter-dependencies dio

0
推荐指数
1
解决办法
4864
查看次数

错误:找不到成员:'ImageCropper.cropImage'

**我花了一晚上的时间尝试裁剪图像,需要一些帮助**

  image_cropper: ^1.5.0 # Used to Crop/Rotate Selected images from user's device
Run Code Online (Sandbox Code Playgroud)

///错误

错误:找不到成员:“ImageCropper.cropImage”。最终croppedImage =等待ImageCropper.cropImage(

///图像源

class ImageSourceSheet extends StatelessWidget {
  // Constructor
  ImageSourceSheet({required this.onImageSelected});

  // Callback function to return image file
  final Function(File?) onImageSelected;
  // ImagePicker instance
  final picker = ImagePicker();

  Future<void> selectedImage(BuildContext context, File? image) async {
    // init i18n
    final i18n = AppLocalizations.of(context);

    // Check file
    if (image != null) {
      final croppedImage = await ImageCropper.cropImage(
          sourcePath: image.path,
          aspectRatioPresets: [CropAspectRatioPreset.square],
          maxWidth: 400,
          maxHeight: 400,
          androidUiSettings: AndroidUiSettings(
            toolbarTitle: …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-dependencies flutter-layout flutter-web

0
推荐指数
1
解决办法
3969
查看次数

Flutter Quill 库无法与文本小部件一起使用?html_editor_enhance 也不能在 flutter 3 上正常工作:-

我的代码适用于 Quill:-

import 'package:flutter_quill/flutter_quill.dart';

body:Column(
  children: [
    Row(
      children: [
        const **Text**('category:', style: TextStyle(color: Colors.red)),
        Text(widget.news.categoryName.toString(),
        style: const TextStyle(color: Colors.blue)),
      ],
    ),
    QuillToolbar.basic(controller: _controller),
    Expanded(
      child: Container(
      child: QuillEditor.basic(
        controller: _controller,
        readOnly: false, // true for view only mode
      ),
    ),
  ),
);
Run Code Online (Sandbox Code Playgroud)

在代码中,文本小部件给出错误 =>

名称“Text”在库“package:flutter/src/widgets/text.dart”和“package:flutter_quill/src/models/documents/nodes/leaf.dart”中定义(通过 package:flutter_quill/flutter_quill.dart) '。

尝试对其中一个导入指令使用“作为前缀”,或者对除其中一个导入指令之外的所有导入指令隐藏名称。

quill flutter flutter-dependencies flutter-android

0
推荐指数
1
解决办法
2434
查看次数