Flutter 颜色不是';t拿起箱子的全尺寸颤振
我正在使用Flatter,我想创建另一个盒子,就像第一个盒子一样,但下面是这样的: 然而,到目前为止,第二个盒子的颜色甚至不能填满盒子。但我只是将代码从第一个框复制粘贴到第二个框。所以我不明白这是怎么回事。下面是它的外观: 我的代码是:Flutter 颜色不是';t拿起箱子的全尺寸颤振,flutter,widget,flutter-layout,Flutter,Widget,Flutter Layout,我正在使用Flatter,我想创建另一个盒子,就像第一个盒子一样,但下面是这样的: 然而,到目前为止,第二个盒子的颜色甚至不能填满盒子。但我只是将代码从第一个框复制粘贴到第二个框。所以我不明白这是怎么回事。下面是它的外观: 我的代码是: import 'package:flutter/material.dart'; import 'dart:math' as math; void main() => runApp(MyApp()); class MyApp extends State
import 'package:flutter/material.dart';
import 'dart:math' as math;
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Transform.translate(
offset: Offset(-120.0, 0.0),
child: Transform.rotate(
angle: math.pi / 5.0,
child: Container(
decoration: BoxDecoration(
border: Border.all(
width: 5.0,
color: Colors.grey[700],
),
),
child: FractionallySizedBox(
widthFactor: 0.5,
heightFactor: 0.5,
child: Container(
color: Colors.grey,
// second box
child: Transform.translate(
offset: Offset(100.0, 0.0),
child: Transform.rotate(
angle: math.pi / 5.0,
child: Container(
decoration: BoxDecoration(
border: Border.all(
width: 5.0,
color: Colors.grey[700],
),
),
child: FractionallySizedBox(
widthFactor: 0.5,
heightFactor: 0.5,
child: Container(
color: Colors.grey,
),
),
),
),
),
),
),
),
),
),
),
);
}
}
您可以复制粘贴运行下面的完整代码
您可以删除最后一个
partiallysizedbox
工作演示
完整代码
import 'package:flutter/material.dart';
import 'dart:math' as math;
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Transform.translate(
offset: Offset(-120.0, 0.0),
child: Transform.rotate(
angle: math.pi / 5.0,
child: Container(
decoration: BoxDecoration(
border: Border.all(
width: 5.0,
color: Colors.grey[700],
),
),
child: FractionallySizedBox(
widthFactor: 0.5,
heightFactor: 0.5,
child: Container(
color: Colors.grey,
// second box
child: Transform.translate(
offset: Offset(100.0, 0.0),
child: Transform.rotate(
angle: math.pi / 5.0,
child: Container(
decoration: BoxDecoration(
border: Border.all(
width: 5.0,
color: Colors.grey[700],
),
),
child: Container(
color: Colors.grey,
),
),
),
),
),
),
),
),
),
),
);
}
}
我不知道这是否有用,但这是我的代码: 注意:我仍然使用固定高度
import 'package:flutter/material.dart';
import 'dart:math' as math;
void main() => runApp(MyApp());
double height = 250.0;
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Column(
children: <Widget>[
// BOX1
Transform.translate(
offset: const Offset(-250.0, 150.0),
child: Transform.rotate(
angle: -math.pi / 3.0,
child: Container(
height: height,
decoration: BoxDecoration(
color: Colors.grey,
border: Border.all(
width: 5.0,
color: Colors.grey[700],
),
),
),
),
),
// BOX2
Transform.translate(
offset: const Offset(-90.0, 115.0),
child: Transform.rotate(
angle: -math.pi / 3.0,
child: Container(
height: height,
decoration: BoxDecoration(
color: Colors.grey,
border: Border.all(
width: 5.0,
color: Colors.grey[700],
),
),
),
),
),
// BOX3
Transform.translate(
offset: const Offset(75.0, 75.0),
child: Transform.rotate(
angle: -math.pi / 3.0,
child: Container(
height: height,
decoration: BoxDecoration(
color: Colors.grey,
border: Border.all(
width: 5.0,
color: Colors.grey[700],
),
),
),
),
),
],
),
),
);
}
}
导入“包装:颤振/材料.省道”;
导入'dart:math'作为数学;
void main()=>runApp(MyApp());
双倍高度=250.0;
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
正文:专栏(
儿童:[
//框1
转换(
偏移量:常数偏移量(-250.0,150.0),
子对象:Transform.rotate(
角度:-math.pi/3.0,
子:容器(
高度:高度,,
装饰:盒子装饰(
颜色:颜色。灰色,
边界:边界(
宽度:5.0,
颜色:颜色。灰色[700],
),
),
),
),
),
//框2
转换(
偏移量:常数偏移量(-90.0,115.0),
子对象:Transform.rotate(
角度:-math.pi/3.0,
子:容器(
高度:高度,,
装饰:盒子装饰(
颜色:颜色。灰色,
边界:边界(
宽度:5.0,
颜色:颜色。灰色[700],
),
),
),
),
),
//框3
转换(
偏移量:常数偏移量(75.0,75.0),
子对象:Transform.rotate(
角度:-math.pi/3.0,
子:容器(
高度:高度,,
装饰:盒子装饰(
颜色:颜色。灰色,
边界:边界(
宽度:5.0,
颜色:颜色。灰色[700],
),
),
),
),
),
],
),
),
);
}
}
屏幕截图:
您使用的是一个小部件和高度因子为一半的
部分物理化dbox
。为什么?嗯,因为我想做一个盒子。我是新手,我应该只放一个容器或大小的盒子吗@克里斯托弗莫尔