首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有问题向颤振项目添加主题数据

有问题向颤振项目添加主题数据
EN

Stack Overflow用户
提问于 2022-03-28 07:22:53
回答 1查看 63关注 0票数 0

嗨,我试图添加我的自定义主题数据到颤振代码,但它显示了这个错误,我使用flutter_screenutil: ^5.3.1响应用户界面。请帮帮忙

代码语言:javascript
复制
    #39     CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #40     CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #41     CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #42     CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #43     CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    2
    ...
    #30749  CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #30750  CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #30751  CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #30752  CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #30753  CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #30754  CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #30755  CustomTheme.lightTheme
    package:hms/util/theme.dart:8
    #30756  MyApp.build.<anonymous closure>
    package:hms/main.dart:45
    #30757  ScreenUtilInit.build.<anonymous closure>
    package:flutter_screenutil/screenutil_init.dart:36
    #30758  _LayoutBuilderElement._layout.layoutCallback
    package:flutter/…/widgets/layout_builder.dart:122
    #30759  BuildOwner.buildScope
    package:flutter/…/widgets/framework.dart:2600
    #30760  _LayoutBuilderElement._layout
    package:flutter/…/widgets/layout_builder.dart:156
    #30761  RenderObject.invokeLayoutCallback.<anonymous closure>
    package:flutter/…/rendering/object.dart:1997
    #30762  PipelineOwner._enableMutationsToDirtySubtrees
    package:flutter/…/rendering/object.dart:918
    #30763  RenderObject.invokeLayoutCallback
    package:flutter/…/rendering/object.dart:1997
    #30764  RenderConstrainedLayoutBuilder.rebuildIfNecessary
    package:flutter/…/widgets/layout_builder.dart:230
    #30765  _RenderLayoutBuilder.performLayout
    package:flutter/…/widgets/layout_builder.dart:319
    #30766  RenderObject.layout
    package:flutter/…/rendering/object.dart:1887
    #30767  RenderView.performLayout
    package:flutter/…/rendering/view.dart:165
    #30768  RenderObject._layoutWithoutResize
    package:flutter/…/rendering/object.dart:1731
    #30769  PipelineOwner.flushLayout
    package:flutter/…/rendering/object.dart:887
    #30770  RendererBinding.drawFrame
    package:flutter/…/rendering/binding.dart:497
    #30771  WidgetsBinding.drawFrame
    package:flutter/…/widgets/binding.dart:883
    #30772  RendererBinding._handlePersistentFrameCallback
    package:flutter/…/rendering/binding.dart:363
    #30773  SchedulerBinding._invokeFrameCallback
    package:flutter/…/scheduler/binding.dart:1144
    #30774  SchedulerBinding.handleDrawFrame
    package:flutter/…/scheduler/binding.dart:1081
    #30775  SchedulerBinding.scheduleWarmUpFrame.<anonymous closure>
    package:flutter/…/scheduler/binding.dart:862
    (elided 11 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
    ════════════════════════════════════════════════════════════════════════════════

main。dart

代码语言:javascript
复制
class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ScreenUtilInit(
      designSize: const Size(360, 690),
      minTextAdapt: true,
      splitScreenMode: true,
      builder: () => MaterialApp(
        builder: (context, widget) {
          ScreenUtil.setContext(context);
          return MediaQuery(
            data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0),
            child: widget!,
          );
        },
        debugShowCheckedModeBanner: false,
        navigatorKey: NavigationService.navigationKey,
        theme: CustomTheme.lightTheme,
        onGenerateRoute: route.generateRoute,
      ),
    );
  }
}

主题数据

代码语言:javascript
复制
class CustomTheme {
  static ThemeData get lightTheme {
    return ThemeData(
      primarySwatch: createMaterialColor(const Color(0xff4671c6)),
      colorScheme: lightTheme.colorScheme.copyWith(
        primary: createMaterialColor(const Color(0xff4671c6)),
        secondary: createMaterialColor(const Color(0xff2E8B57)),
      ),
      brightness: Brightness.light,
    );
  }

  static ThemeData get darkTheme {
    return ThemeData(
      brightness: Brightness.dark,
    );
  }
}

createMaterialColor是一个自定义类用户,用于将任何颜色转换为材料颜色。对于导航,我使用no_context_navigation

没有主题,应用程序运行良好,没有包,应用程序运行良好,但当我同时使用包和主题数据时,它会显示此错误。

EN

回答 1

Stack Overflow用户

发布于 2022-03-31 15:26:48

如果您想要创建一个自定义主题,请尝试这样做:

首先,创造你的主题

代码语言:javascript
复制
// Your class with all custom themes
class YourCustomThemeName {
// Your theme name with some examples
  static final exampleTheme = ThemeData(
    // Your primary color
    primaryColor: TNETColors.azulEscuro,

    // Scrolling color
    colorScheme: ColorScheme.fromSwatch().copyWith(
      secondary: TNETColors.cinzaClaro,
    ),

    /// Scaffold color
    scaffoldBackgroundColor: const Color(0xff2E8B57),

    /// Dialog background color
    dialogBackgroundColor: const Color(0xff2E8B57),

    /// Appbar color
    appBarTheme: const AppBarTheme(color: Color(0xff2E8B57)),
  );
}

然后在MyApp类中使用主题,如下所示

代码语言:javascript
复制
theme: YourCustomThemeName.exampleTheme,
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71643726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档