Основы флаттера: цвет панели моего приложения не меняется

#flutter

Вопрос:

введите описание изображения здесь

 import 'package:flutter/material.dart';

void main() {
  runApp(RecipeApp());
}

class RecipeApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {

    final ThemeData theme = ThemeData();

    return MaterialApp(
      title: 'Recipe Calculator',
      theme: theme.copyWith(
        colorScheme: theme.colorScheme.copyWith(
          primary: Colors.grey,
          secondary: Colors.black,
        ),
      ),

      home: const MyHomePage(title: 'Recipe Calculator'),
    );
  }
}
 

Это текущий код, а выше — текущий вывод в соответствии с кодом, цвет остается синим и белым вместо серого и черного

Ответ №1:

запуск на моем эмуляторе с использованием вашего кода работает, попробуйте полностью перезапустить приложение.

 import 'package:flutter/material.dart';

void main() {
  runApp(RecipeApp());
}

class RecipeApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final ThemeData theme = ThemeData();

    return MaterialApp(
      title: 'Recipe Calculator',
      theme: theme.copyWith(
        colorScheme: theme.colorScheme.copyWith(
          primary: Colors.grey,
          secondary: Colors.black,
        ),
      ),
      home: const MyHomePage(title: 'Recipe Calculator'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final title;
  const MyHomePage({this.title});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
    );
  }
}
 

введите описание изображения здесь

Комментарии:

1. Проблема заключалась в следующем коде: класс MyHomePage расширяет StatefulWidget { const MyHomePage({Ключ? ключ, требуется this.title}): super(key: key); заголовок конечной строки; @override State<MyHomePage> createState() => _MyHomePageState(); } Я изменил приведенный выше код на ваш, теперь он работает отлично.

Ответ №2:

Попробуйте приведенный ниже код, надеюсь, он вам поможет, я думаю, вы можете использовать виджет Scaffold для ссылки на класс AppBar здесь и ссылки на класс Scaffold здесь

 return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.grey,//change color on your need
        title: Text(
          'BottomNavigationBar Sample',
        ),
      ),
      body:Container(),//or your widget
);
 

Ваш экран результатов -> Изображение