Флаттер дает ошибку времени компиляции: AppBarDesign не может быть назначен типу параметра «PreferredSizeWidget» - PullRequest
0 голосов
/ 06 октября 2018

Кто-нибудь, пожалуйста, дайте некоторую информацию, почему это происходит?

Когда я пытаюсь добавить класс AppBarDesign , который реализует appBar , флаттер дает следующееошибка.

ошибка: тип аргумента «AppBarDesign» не может быть назначен типу параметра «PreferredSizeWidget».(arguments_type_not_assignable в [flutterbyrajath] lib \ main.dart: 27)

    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),
        );
      }
    }

Ответы [ 2 ]

0 голосов
/ 19 мая 2019

полезных советов по реализации этого без поиска каких-либо других тем:

class ApplicationToolbar extends StatelessWidget with PreferredSizeWidget{
  @override
  Widget build(BuildContext context) {
    return AppBar( ... );
  }

  @override
  Size get preferredSize => Size.fromHeight(kToolbarHeight);
}
0 голосов
/ 06 октября 2018

Scaffold требует, чтобы в качестве панели приложений был класс, который реализует PreferredSizeWidget

Либо заключите вашу пользовательскую панель приложений в PreferredSize, либо реализует PreferredSizeWidget

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...