なぜこのようなことが起こるのか、誰か情報を提供してもらえませんか?
クラスを追加しようとするとアプリバーデザイン実装するアプリバーflutter は以下のエラーを出します。
エラー: 引数タイプ 'AppBarDesign' は、パラメータ タイプ 'PreferredSizeWidget' に割り当てることができません。([flutterbyrajath] lib\main.dart:27 で、argument_type_not_assignable)
import 'package:flutter/material.dart';
main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Rajath\'s design ',
debugShowCheckedModeBanner: false,
theme: new ThemeData(primarySwatch: Colors.amber),
home: new MyHomePage(key, 'App is Fun'),
);
}
}
class MyHomePage extends StatelessWidget {
MyHomePage(Key key, this.title) : super(key: key);
final title;
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBarDesign(key, title),
);
}
}
class AppBarDesign extends StatelessWidget {
AppBarDesign(Key key, this.title) : super(key: key);
final title;
@override
Widget build(BuildContext context) {
return new AppBar(
title: new Text(title),
);
}
}
ベストアンサー1
他のトピックを検索せずにこれを実装するための役立つヒント:
class ApplicationToolbar extends StatelessWidget implements PreferredSizeWidget{
@override
Widget build(BuildContext context) {
return AppBar( ... );
}
@override
Size get preferredSize => const Size.fromHeight(kToolbarHeight);
}
注意: Dart 3にアップデートしていない場合は、「implements」の代わりに「with」を使用できます。
class ApplicationToolbar extends StatelessWidget with PreferredSizeWidget{...]