首页 > 其他分享 >ColoredBox child 是 Scaffold 颜色失效

ColoredBox child 是 Scaffold 颜色失效

时间:2024-05-29 17:58:07浏览次数:22  
标签:Container 设置 Scaffold backgroundColor child 颜色 ColoredBox

在 Flutter 中,Scaffold 小部件有自己的一组属性来管理其外观,包括背景颜色。当你将 Scaffold 作为 ColoredBox 的子小部件时,ScaffoldbackgroundColor 属性将覆盖 ColoredBox 的颜色。

要解决这个问题,你可以直接设置 ScaffoldbackgroundColor 属性,而不是使用 ColoredBox。如果你想在 Scaffold 之外设置背景颜色,可以使用 Container 或其他小部件来包裹 Scaffold,但需要注意 Scaffold 的背景颜色会覆盖外部的颜色设置。

示例代码

使用 ScaffoldbackgroundColor

直接设置 ScaffoldbackgroundColor 属性。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.blue, // 设置背景颜色
        appBar: AppBar(
          title: Text('Colored Scaffold'),
        ),
        body: Center(
          child: Text('Hello, World!'),
        ),
      ),
    );
  }
}

使用 Container 包裹 Scaffold

如果你需要在 Scaffold 之外设置背景颜色,可以用 Container 包裹 Scaffold,并将 ScaffoldbackgroundColor 设置为透明。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Container(
        color: Colors.blue, // 设置背景颜色
        child: Scaffold(
          backgroundColor: Colors.transparent, // 设置为透明以显示 Container 的颜色
          appBar: AppBar(
            title: Text('Container Background'),
          ),
          body: Center(
            child: Text('Hello, World!'),
          ),
        ),
      ),
    );
  }
}

总结

Scaffold 小部件的 backgroundColor 属性会覆盖其父小部件的颜色设置。因此,如果需要更改 Scaffold 的背景颜色,直接设置 backgroundColor 属性是最简便的方法。如果必须使用外部包裹层来设置背景颜色,可以使用 Container 包裹 Scaffold 并将 Scaffold 的背景设置为透明。

标签:Container,设置,Scaffold,backgroundColor,child,颜色,ColoredBox
From: https://www.cnblogs.com/fhlsteven/p/18220784

相关文章

  • createPortal:允许你将 JSX 作为 children 渲染至 DOM 的不同部分。
    官网createPortal(children,domNode,key?)import{createPortal}from'react-dom';//...<div><p>这个子节点被放置在父节点div中。</p>{createPortal(<p>这个子节点被放置在documentbody中。</p>,document.body)}</div&......
  • CF1137F Matches Are Not a Child's Play 题解
    题目链接点击打开链接题目解法参考abruce的非\(lct\)的做法\(compare\)操作是搞笑的,可以转化成求\(u,v\)的\(when\)操作一个结论是编号最大的点一定是最晚删的,不妨令编号最大的点为根,则删除顺序一定是从下往上删的先考虑原树上单个点\(u\)的\(when\)怎么求令......
  • antd popover组件二次封装children显示
    importReact,{PropsWithChildren}from'react';import'./index.scss';import{Popover}from'antd';exportinterfaceDictPopoverCompProps{open:boolean;keyWords:string;}//词库联想气泡constDictPopoverComp=(prop......
  • Vue3 Diff 之 patchKeyedChildren 动态示例
    在学习全网学习各路大神的关于Vue3Diff算法分析文章的时候,一定离不开关键方法patchKeyedChildren。patchKeyedChildren处理的场景比较多,大致有5个主要过程。如果你希望查看不同测试用例下,patchKeyedChildren具体的内部处理过程,可以尝试一下这个:《Vue3Diff之patchKey......
  • EntityFramework Core Scaffolding
    EntityFrameworkCodeFirst是从代码生成数据库,叫做数据迁移。EntityFrameworkDatabaseFirst是从数据库生成代码,叫做脚手架(Scaffold)。本文介绍脚手架入门。用数据库图形界面(如SQLiteStudio)生成数据库模式,插入数据等,已经发展成熟,标准化了,非常直观,即使是生手也很容易掌握。......
  • 报错:react.development.js:1130 Uncaught Error: Objects are not valid as a React
      原因:是因为getControl我用了异步async的方法。而调用的时候,没有加上await导致的。 解决办法:加上await就可以了 ......
  • Ant Design 设置必填属性的一个坑!Objects are not valid as a React child (found: ob
    1、刚开始,我是用第一种方式。通过一个变量,来设置必填属性的提示值 显示是没有问题的。但是点击ModalForm确认按钮时,报错ObjectsarenotvalidasaReactchild(found:objectwithkeys{requiredMsg}).Ifyoumeanttorenderacollectionofchildren,useanarray......
  • buuctf childRSA wp
    题目如下点击查看代码fromrandomimportchoicefromCrypto.Util.numberimportisPrime,sieve_baseasprimesfromflagimportflagdefgetPrime(bits):whileTrue:n=2whilen.bit_length()<bits:n*=choice(primes)......
  • 深入理解 React 中的 children props 和 render props
    深入理解React中的childrenprops和renderprops在React中,childrenprops和renderprops是两种常见的组件复用模式,它们都可以帮助我们更好地组织和复用组件代码。虽然它们的实现方式有所不同,但都能够有效地实现组件之间的数据传递和功能共享。childrenpropsch......
  • 【Flink】Flink如何覆盖系统类、优先加载用户类、child-first使用技巧
    1.概述一个问题,关于类加载的,就是我使用了flink-sql-connector-kafka的依赖,但是我改了这个类,和任务在一个jar包里面,flink-sql-connector-kafka.jar和Flink的lib中的jar在hdfs上,Flinkonyarn的方式提交作业,但是我改的这个类不生效(还是用的flink-sql-connector-kafka里面的......