目標
使其能夠無錯誤地使用 Marquee()。
我做了什么
我安裝了marquee 包。
寫的代碼:
import 'package:marquee/marquee.dart';
// In Column()
Marquee(
text: "Exampleeeeeeeeeeeeeeeeeee",
pauseAfterRound:
const Duration(
seconds: 1),
style: const TextStyle(
fontSize: 20),
),
錯誤
我在除錯控制臺中沒有看到任何錯誤,但是我在 dart 檔案中看到了彩色代碼:
// errors_patch.dart
static _doThrowNew(int assertionStart, int assertionEnd, Object? message)
native "AssertionError_throwNew";
我試過的
我發現我可以通過使用 Expanded 來解決這個錯誤。所以我像這樣用 Expanded 包圍了 Marquee
Expanded(
child: Marquee(
text: "Exampleeeeeeeeeeeeeeeee",
pauseAfterRound:
const Duration(
seconds: 1),
style: const TextStyle(
fontSize: 20),
)),
但錯誤仍然發生。
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderViewport#96fb3 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
package:flutter/…/rendering/box.dart:1
Failed assertion: line 1999 pos 12: 'hasSize'
The relevant error-causing widget was
Marquee
lib\favorites.dart:167
════════════════════════════════════════════════════════════════════════════════
環境
$flutter doctor -v 結果:
[√] Flutter (Channel beta, 2.6.0-5.2.pre, on Microsoft Windows [Version 10.0.22000.282], locale ja-JP)
? Flutter version 2.6.0-5.2.pre at D:\src\flutter_windows_2.5.0-stable\flutter
? Upstream repository https://github.com/flutter/flutter.git
? Framework revision 400608f101 (6 weeks ago), 2021-09-15 15:50:26 -0700
? Engine revision 1d521d89d8
? Dart version 2.15.0 (build 2.15.0-82.2.beta)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
? Android SDK at D:\Android
? Platform android-30, build-tools 29.0.3
? Java binary at: D:\Program Files\Android\Android Studio\jre\bin\java
? Java version OpenJDK Runtime Environment (build 11.0.8 10-b944.6842174)
? All Android licenses accepted.
[√] Chrome - develop for the web
? Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.2)
? Android Studio at D:\Program Files\Android\Android Studio
? Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
? Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
? Java version OpenJDK Runtime Environment (build 11.0.8 10-b944.6842174)
[√] VS Code (version 1.61.2)
? VS Code at C:\Users\yukik\AppData\Local\Programs\Microsoft VS Code
? Flutter extension version 3.27.0
[√] Connected device (3 available)
? Android SDK built for x86 (mobile) ? emulator-5554 ? android-x86 ? Android 10 (API 29) (emulator)
? Chrome (web) ? chrome ? web-javascript ? Google Chrome 95.0.4638.54
? Edge (web) ? edge ? web-javascript ? Microsoft Edge 95.0.1020.40
? No issues found!
uj5u.com熱心網友回復:
將其添加到此層次結構 Column Row Flexible Marquee 您正嘗試在沒有有限高度的列小部件內使用展開。所以它會拋出一個錯誤。
uj5u.com熱心網友回復:
我用以下小部件包圍了 Marquee。
Column-> Expanded-> SizedBox->Marquee
這有效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/343521.html
