小编fab*_*iog的帖子

在 Flutter 中将具有自定义大小和旋转度的图像绘制到 CustomPaint 中

如何customPaint()在 Flutter 中绘制图像以指定其大小和旋转?通常只drawImage()绘制图像,其尺寸是以像素为单位的尺寸。例如,以 40 x 40 的尺寸绘制 40x40 像素的图像。如何绘制相同的图像,但例如大小为 80x80 且旋转为 120°?我试过了,drawAtlas但我在网上找不到任何东西。

这是我必须绘制的代码。(它在屏幕的右上角绘制了一个 20x20 的矩形)。

class ParticlePainter extends CustomPainter {
  final List<GameObject> objects;

  @override
  void paint(Canvas canvas, Size size) {


    canvas.drawRect(

        Rect.fromCenter(
            height: 20,
            width: 20,
            center: Offset(0.0, 0.0)),

        Paint()
          ..color = Colors.red
          ..blendMode = BlendMode.darken);
    }

  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return true;
  }

  ParticlePainter(this.objects);
}
Run Code Online (Sandbox Code Playgroud)

为了获取图像,我使用了此视频中的代码:Flutter 中的自定义绘制

Future<Image> _loadImage(File file) async{
   final data = await file.readAsBytesSync();
   return await decodeImageFromList(data);
}
Run Code Online (Sandbox Code Playgroud)

image dart flutter

5
推荐指数
1
解决办法
2877
查看次数

如何在Flutter中创建一个可以从屏幕底部滑动的页面?

如何创建一个从屏幕底部滑动并在超过一定阈值时自动填充屏幕的页面?像这样的东西:

在此输入图像描述

layout dart flutter

4
推荐指数
1
解决办法
6780
查看次数

无法从 Flutter 中的 TextField 和 TextFormField 中删除底部填充

我有这个小部件:

TextFormField(
  controller: _activityName,
  autocorrect: true,
  textAlign: TextAlign.start,
  decoration: InputDecoration(
      contentPadding = EdgeInsets.zero,



      border: UnderlineInputBorder(

      ),

      hintText: ""),
  maxLines: 1,
  cursorColor: Colors.white,
),
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我明确地将填充设置为 0,正如这个答案所说: 如何从 TextField 中删除内容填充?

但我得到的结果是这样的:

在此处输入图片说明

正如您在 Text MyActivity 下看到的那样,有很多填充,但我无法摆脱它。它看起来像一个错误,但我不确定:

这是颤振医生:

Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 10.0.18362.295], locale en-US)
    • Flutter version 1.12.13+hotfix.5 %Flutter path%
    • Framework revision 27321ebbad (3 weeks ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0
Run Code Online (Sandbox Code Playgroud)

dart flutter

4
推荐指数
2
解决办法
3718
查看次数

有没有办法从Flutter中的Future函数获取反馈

我有这个Future函数,需要花费很多时间来加载,并且基本上像视频渲染一样工作(它执行一些步骤100次)。有什么办法可以在小部件中显示进度?我尝试在MyApp()中设置一个全局变量,例如,一个与框架相对应的int并通过setState()我尝试重建该窗口小部件,但是它不起作用,应用程序冻结并且该窗口小部件没有更新。

这是功能:

int _progress = 0;

Future _cycleGame() async {
    await game.cycle((int value) {
      print(value);


      setState(() {
        _progress = value;
      });

    }).whenComplete(() {

      setState(() {});
    });
  }
Run Code Online (Sandbox Code Playgroud)

game.cycle()是个循环的50倍将来的功能。

game.cycle()函数供参考:

Future cycle(Function cBack) async {

    for (int i in Range(50)) {
      if (!shouldFinish) {

        cBack(i);
        ///Does things.
Run Code Online (Sandbox Code Playgroud)

到目前为止,我只是在屏幕上使用文本作为_progress值。该vlaue会正确打印(每tot时间一次),但是_progress在功能末尾显示唯一更新的文本。我究竟做错了什么?

我尝试使用谷歌搜索方法,但没有发现任何问题。这可能吗?

编辑1。使用RémiRousselet提供的答案,我仍然无法使代码正常工作。仅在流结束时才更新小部件。

这是代码。

    import 'dart:io';

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(

      home: …
Run Code Online (Sandbox Code Playgroud)

future dart flutter

2
推荐指数
1
解决办法
548
查看次数

标签 统计

dart ×4

flutter ×4

future ×1

image ×1

layout ×1