[解決済み] AnimationController 名前付きパラメータ 'vsync' が定義されていません。
2023-07-07 01:50:47
質問
AnimationControllerが動かなくなったのは、どういうわけかvsyncが名前付きパラメータでなくなってしまったからです。
このコードの行は動作しなくなりました。
controller = AnimationController(duration: Duration(seconds: 3), vsync: this);
というエラーが表示されるようになりました。
The named parameter 'vsync' isn't defined.
Try correcting the name to an existing named parameter's name, or defining a named parameter with the name 'vsync'.dartundefined_named_parameter
私はこの全く同じコードを2つの異なるアプリで使用しています。そのうちの1つでは、ホットフィックスとしてフェードテキストアニメーションを削除しただけですが、もう1つのアプリでは、本当のフィックスが必要なのです。最近、この問題を見た人はいますか?
注意してください。
-このまったく同じコードは数ヶ月間動作していましたが、アップデート後に動作しなくなりました。
-周囲のクラスは持っています。
with TickerProviderStateMixin
class FadingText extends StatefulWidget {
final String text;
final int seconds;
final TextStyle style;
FadingText({this.text, this.seconds, this.style});
@override
_FadingTextState createState() => _FadingTextState();
}
class _FadingTextState extends State<FadingText> with TickerProviderStateMixin {
AnimationController controller;
Animation animation;
@override
Widget build(BuildContext context) {
return Container(
child: FadeTransition(
opacity: animation,
child: Text(widget.text, style: widget.style,),
),
);
}
@override
void initState() {
super.initState();
controller = AnimationController(duration: Duration(seconds: widget.seconds), vsync: this);
animation = Tween(begin: 0.5, end: 1.0).animate(controller);
animation.addStatusListener((status) {
if (status == AnimationStatus.completed) { controller.reverse(); }
else if (status == AnimationStatus.dismissed) { controller.forward(); }
});
controller.forward();
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
}
Flutter Doctor
[✓] Flutter (Channel master, 1.21.0-6.0.pre.140, on Mac OS X 10.15.5 19F101, locale en-MX)
• Flutter version 1.21.0-6.0.pre.140 at /Users/luisharo/Developer/flutter
• Framework revision 7884420a0a (25 hours ago), 2020-07-31 20:20:00 +0200
• Engine revision 280bbfc763
• Dart version 2.10.0 (build 2.10.0-2.0.dev bd528bfbd6)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/luisharo/Library/Android/sdk
• Platform android-29, build-tools 29.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.5, Build version 11E608c
• CocoaPods version 1.8.4
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 45.1.1
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[✓] IntelliJ IDEA Community Edition (version 2019.2.4)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 45.1.1
• Dart plugin version 192.8052
[✓] VS Code (version 1.47.3)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.13.1
[✓] Connected device (4 available)
• JKM LX3 (mobile) • 7MLNW19723003608 • android-arm64 • Android 9 (API 28)
• iPhone 11 Pro (mobile) • 675C24C4-7682-4DFE-8037-062893405EE7 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-5
(simulator)
• Web Server (web) • web-server • web-javascript • Flutter Tools
• Chrome (web) • chrome • web-javascript • Google Chrome 84.0.4147.105
• No issues found!
どのように解決するのですか?
あなたの
pubspec.yml
に変更します。
environment:
sdk: ">=2.8.0 <3.0.0"
と
flutter pub get
でキャッシュを無効にし、再起動すればOKです。
クレジット https://github.com/flutter/flutter/issues/62752#issuecomment-667744745
関連
-
[解決済み] Flutterで次のTextFieldにフォーカスを移すには?
-
[解決済み] Flutter 条件に応じてリストをフィルタリングする
-
[解決済み] フラッターのライフサイクル
-
[解決済み] 丸みを帯びたボーダーを持つボタンを作成する [重複]。
-
[解決済み] FlutterでSafeAreaを使用する
-
[解決済み] Flutter: 静的ターゲットが見つからない場合の未実装の処理
-
[解決済み] flutterのtextfieldでカーソルの位置を値の最後に設定するには?
-
[解決済み] コンテナウィジェットが親を縦に埋めるようにする
-
[解決済み] FlutterのScaffold AppBarからドロップシャドウを削除する?
-
[解決済み] Flutter : ListViewにヘッダー列を追加する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] FlutterのprimaryColorとprimarySwatchの違いは何ですか?
-
[解決済み] flutterで空のビューを表示するには?
-
[解決済み] Flutterにおける変数名の前のアンダースコア"_"の意味するところ
-
[解決済み] Flutterアプリがウェブ上で動作しているかどうかを検出するには?
-
[解決済み] FlutterのshrinkWrapプロパティは何をするのですか?
-
[解決済み] flutterから.apkと.ipaファイルを取得する方法は?
-
[解決済み] FlutterのScaffold AppBarからドロップシャドウを削除する?
-
[解決済み] Flutter Layout Row / Column - 幅を共有し、高さを拡張する
-
[解決済み] dartで日付に月/年を加算/減算する?
-
[解決済み] フラッター 前の画面に戻ることなく、新しい画面に移動する。