тема текста flutter не задана

#flutter #flutter-theme #flutter-localizations #flutter-font

Вопрос:

У меня есть две кнопки в приложении may flutter.одна из них предназначена для переключения темы, а другая-для изменения локали для поддержки английского и фарси в приложении. все в порядке,и приложение работает правильно, но когда я хочу установить тему в тексте для каждого языка, стиль текста устанавливается неправильно. Я определил два значения texttheme: faTextTheme для языка фарси и enTextTheme для английского языка, но в тексте задана только entexttheme

это мои коды флаттера:

 import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:adaptive_theme/adaptive_theme.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';  void main() {  runApp(const MyApp()); }  class MyApp extends StatefulWidget {  const MyApp({  Key? key,  }) : super(key: key);   @override  Statelt;MyAppgt; createState() =gt; _MyAppState(); }  class _MyAppState extends Statelt;MyAppgt; {  Locale _locale = Locale('en');   @override  Widget build(BuildContext context) {  return AdaptiveTheme(  light: ThemeData(  brightness: Brightness.light,  primarySwatch: Colors.red,  textTheme: _locale == Locale('fa') ? faTextTheme : enTextTheme),  dark: ThemeData(  brightness: Brightness.dark,  primarySwatch: Colors.red,  textTheme: _locale == Locale('fa') ? faTextTheme : enTextTheme),  initial: AdaptiveThemeMode.light,  builder: (theme, darkTheme) =gt; MaterialApp(  title: 'Adaptive Theme Demo',  localizationsDelegates: [  AppLocalizations.delegate,  GlobalMaterialLocalizations.delegate,  GlobalWidgetsLocalizations.delegate,  GlobalCupertinoLocalizations.delegate,  ],  supportedLocales: AppLocalizations.supportedLocales,  theme: theme,  locale: _locale,  darkTheme: darkTheme,  home: MyHomePage(  changedLanguage: (Languages newLanguage) {  setState(() {  newLanguage == Languages.fa  ? _locale = Locale('fa')  : _locale = Locale('en');  });  },  ),  ),  );  } }  TextTheme get enTextTheme =gt;  GoogleFonts.robotoTextTheme(TextTheme(bodyText2: TextStyle(fontSize: 10,fontWeight: FontWeight.bold)));  TextTheme get faTextTheme =gt; TextTheme(  bodyText2: TextStyle(  fontSize: 40, fontFamily: 'vazir', ),  );  class MyHomePage extends StatefulWidget {  final Function(Languages language) changedLanguage;  const MyHomePage({required this.changedLanguage});  @override  Statelt;MyHomePagegt; createState() =gt; _MyHomePageState(); }  class _MyHomePageState extends Statelt;MyHomePagegt; {  Languages languages = Languages.en;   void updateSelectedLanguage(Languages newLanguges) {  widget.changedLanguage(  languages == Languages.fa ? Languages.en : Languages.fa);  setState(() {  languages = newLanguges;  });  }   @override  Widget build(BuildContext context) {  var localization = AppLocalizations.of(context)!;  return Scaffold(  body: Column(  mainAxisAlignment: MainAxisAlignment.center,  children: [  Center(  child: Text(localization.helloWorld),  ),  ElevatedButton(  onPressed: () {  // AdaptiveTheme.of(context).toggleThemeMode();  final ThemeData themeData = Theme.of(context);  var currentBrightness =  themeData.brightness == Brightness.dark ? 'dark' : 'light';   if (currentBrightness == 'dark') {  AdaptiveTheme.of(context).setLight();  } else {  AdaptiveTheme.of(context).setDark();  }  },  child: Text(localization.toggleThemeBtn)),  ElevatedButton(  onPressed: () {  var newLanguage;  if (languages == Languages.fa) {  newLanguage = Languages.en;  } else {  newLanguage = Languages.fa;  }  updateSelectedLanguage(newLanguage);  },  child: Text(  localization.changeLanguageBtn,  ))  ],  ),  );  } }  enum Languages { en, fa }  

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