问题标签 [dart-ui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - 计算由 Path 包围的区域与 Flutter 中特定点之间的距离
根据路径的文档:
据我了解,这意味着当Path对象关闭时,它会围绕一个二维区域。
当用户单击屏幕上的某个点时,我想计算用户单击的点与路径包围的区域之间的距离。我得到了用户通过 GestureDetector/onPanDown 点击的观点,但我无法弄清楚如何计算到路径的距离(或路径包围的区域)。Path 提供的所有函数似乎都返回 void 或 bool 但没有距离。
想象一下:(当我将它绘制到屏幕上时,红色是 Path 对象,X 应该是我的用户单击的位置;绿线表示的两者之间的距离是我感兴趣的)
如何计算距离?
flutter - Flutter:更改比例后重绘Custompaint线
我正在使用 Flutter 创建一个笔记应用程序,并使用 CustomPainter 作为绘图部分。为了获得更好的性能,CustomPaint 会在一些 Lines 之后转换为图像。现在图像的问题是放大时,线条(现在是图像)非常像素化。现在我解决这个问题的第一个想法是在缩放后重新绘制线条。
但是,如果它们的分辨率仍然很差,我该如何正确地重绘它们呢?另外,是否可以只重绘当前在屏幕上可见的线条?
一切都用提供约束+像素比(比例)的布局构建器包装:
我是如何进行缩放的:
我的 CustomPaint 出现在 Transform 小部件之后:
使用 custpmpaint 到图像转换器的片段(绘制的线被转换为图像以节省性能):
带有图像抽屉的 Custompaint 部分:
(对不起大量的代码)
如果您知道更好的方法,请告诉我。
这是问题的视频
flutter - 在 chrome 或 macos 上运行 Flutter 应用程序时找不到 ui.TextLeadingDistribution
在使用 dart migrate 后尝试在 chrome 或 macos 上运行我的应用程序时,我在控制台中收到以下错误:
它在 Android / iPhone 模拟器上运行良好。
我尝试了以下方法,但都是徒劳的:
- 颤振 2.0.6(稳定)
- 颤振 2.5.3(稳定)
- 颤振医生显示没有错
- 颤振清洁,颤振 pub 缓存修复,颤振 pub 获取
- 重启 VSCode
image - Flutter:如何将 ui.Image 编码为 jpeg?
我需要做类似的事情adapter
。我收到ui.Image
作为in
参数,我应该发送到out
Uint8List。现在我发现如何ui.Image
转换为png
数据,但它占用了非常大的内存大小。
例如,如果我在磁盘上获取 2,6 MB 文件,将其读取为
ui.Image
,然后尝试将其转换回数据,toByteData(.png)
结果我在磁盘上有 11.45 MB。
我的代码
在 emumImageByteFormat
我只看到rawRgba
,rawUnmodified
和png
. 那么我如何转换ui.Image
为 jpeg 数据呢?有什么建议么?
dart - dart中没有构造函数的类的扩展方法?
我已经在很多 dart 东西上编写了扩展方法,但是当我尝试从 dart:ui 执行 FontWeight 时,它不被认为是合法的。
然后
linter 给了我这个错误:
没有为“FontWeight”类型定义吸气剂“medium”。尝试导入定义“medium”的库,将名称更正为现有 getter 的名称,或者定义一个名为“medium”的 getter 或字段。
所以我认为静态的东西把它搞砸了,所以我在没有静态的情况下尝试了它并遇到了同样的问题。
但是看看这个:
现在我得到两个错误:
'FontWeight' 类没有默认构造函数。尝试使用“FontWeight”中定义的命名构造函数之一
当然,但我也得到了这个:
无法通过实例访问静态字段“medium”。尝试使用类“FontWeightExtension”来访问该字段。
所以它知道扩展方法,但我不能使用它FontWeight
有没有办法解决这个问题?如何在没有构造函数的类上编写扩展方法?
flutter - 在 alertDialog 中点击 TextField 会使我的应用程序崩溃
我试图在 AlertDialog 中显示一个 TextField,但是当我尝试点击 TextField 时我的应用程序崩溃了。
这是我的代码:
下拉工作没有任何问题。同样,当我单击按钮时,我会在 TextField 中获得文本。
错误信息
W/IInputConnectionWrapper(7294):非活动 InputConnection 上的 getExtractedText
W/IInputConnectionWrapper(7294):非活动 InputConnection 上的 getTextBeforeCursor
W/IInputConnectionWrapper(7294):非活动 InputConnection 上的 getExtractedText
W/IInputConnectionWrapper(7294):非活动 InputConnection 上的 getTextBeforeCursor
E/SpannableStringBuilder(7294):SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度
I/chatty (7294): uid=10582(com.example.blog) 相同的 2 行
E/SpannableStringBuilder(7294):SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度
D/ForceDarkHelper(7294):updateByCheckExcludeList:pkg:com.example.blog 活动:com.example.blog.MainActivity@10f2b63
D/EgretLoader(7294):EgretLoader(上下文上下文)
D/EgretLoader(7294):上下文不是活动
D/ForceDarkHelper(7294):updateByCheckExcludeList:pkg:com.example.blog 活动:com.example.blog.MainActivity@10f2b63
D/AndroidRuntime(7294):关闭虚拟机
E/AndroidRuntime(7294):致命异常:主要
E/AndroidRuntime(7294):进程:com.example.blog,PID:7294
E/AndroidRuntime(7294):java.lang.NullPointerException:尝试从空对象引用上的“android.view.WindowManager$LayoutParams android.view.ViewRootImpl.mWindowAttributes”字段读取
E/AndroidRuntime(7294):在 android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:1626)
E/AndroidRuntime(7294):在 android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1870)
E/AndroidRuntime(7294):在 android.view.inputmethod.InputMethodManager.isActive(InputMethodManager.java:1184)
E/AndroidRuntime(7294):在 io.flutter.plugins.webviewflutter.InputAwareWebView$1.run(InputAwareWebView.java:195)
E/AndroidRuntime(7294):在 android.os.Handler.handleCallback(Handler.java:914) E/AndroidRuntime(7294):在 android.os.Handler.dispatchMessage(Handler.java:100)
E/AndroidRuntime(7294): 在 android.os.Looper.loop(Looper.java:225)
E/AndroidRuntime(7294): 在 android.app.ActivityThread.main(ActivityThread.java:7564)
E/AndroidRuntime(7294):在 java.lang.reflect.Method.invoke(本机方法)
E/AndroidRuntime(7294):在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
E/AndroidRuntime(7294):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
D/OOMEventManagerFK(7294):checkEventAndDumpForJE:0
I/Process (7294):发送信号。PID:7294 SIG:9
失去与设备的连接。
flutter - Gesture Detector for quadrants of a circle
I have a circle where each quadrant is mapped to a different condition. Each quadrant will, when tapped, result in a different output/view for the user. From my understanding, I should use Gesture Detector
for this. I have this circle both as an svg and I created one using Paint
but I'm lost as to how to map the quadrants to Gesture Detector
. It seems like the only reliable way to do this would be to make the quadrants of the circle separate objects and then wrap them in a Gesture Detector
. Is this correct? If so, is it more efficient to do this in Paint
or with an image (or I guess if they were separate objects, it would be 4 images). What are the other (reliable/consistent given varying screen sizes etc) options to solve for this?