Flutter 将子容器放置在分数位置
如何在堆栈中的特定(分数)位置放置具有设置大小的正方形Flutter 将子容器放置在分数位置,flutter,Flutter,如何在堆栈中的特定(分数)位置放置具有设置大小的正方形 我可以求助于画家,但我想看看是否可以使用小部件来实现这一点。您可以使用设置大小的容器中的装饰框,绘制一个正方形,并将其放置在堆栈中的任何位置,方法是将其包装成对齐或定位小部件: import 'package:flutter/material.dart'; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override
我可以求助于画家,但我想看看是否可以使用小部件来实现这一点。您可以使用设置大小的
容器中的装饰框
,绘制一个正方形,并将其放置在堆栈
中的任何位置,方法是将其包装成对齐
或定位
小部件:
import 'package:flutter/material.dart';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new StackExamplePage(),
);
}
}
class StackExamplePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
backgroundColor: Colors.grey,
appBar: new AppBar(
title: new Text('Stack Example')
),
body: _createStack()
);
}
_createStack() {
return new Stack(
children: <Widget>[
new Image.network(
'https://i.imgur.com/FsXL8vI.jpg',
),
// Black square centered in stack
new Align(
alignment: new Alignment(0.0, 0.0),
child: new Container(
height: 50.0,
width: 50.0,
child: new DecoratedBox(
decoration: new BoxDecoration(
color: Colors.black
),
),
),
),
new Align(
// alignment: Alignment.topLeft,
alignment: const Alignment(-1.0, -1.0),
child: new Text('Top Left',
style: new TextStyle(color: Colors.yellow)),
),
new Align(
// alignment: Alignment.bottomRight,
alignment: const Alignment(1.0, 1.0),
child: new Text('Bottom Right',
style: new TextStyle(color: Colors.yellow)),
),
new Align(
alignment: new Alignment(-0.8, -0.8),
child: new Text(
'10% in', style: new TextStyle(color: Colors.yellow)),
),
new Align(
alignment: new Alignment(0.8, 0.8),
child: new Text(
'90% in', style: new TextStyle(color: Colors.yellow)),
),
]
);
}
}
导入“包装:颤振/材料.省道”;
void main(){
runApp(新的MyApp());
}
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回新材料PP(
标题:“颤振演示”,
主题:新主题数据(
主样本:颜色。蓝色,
),
主页:新建StackExamplePage(),
);
}
}
类StackExamplePage扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
归还新脚手架(
背景颜色:颜色。灰色,
appBar:新的appBar(
标题:新文本(“堆栈示例”)
),
正文:_createStack()
);
}
_createStack(){
返回新堆栈(
儿童:[
新图像网络(
'https://i.imgur.com/FsXL8vI.jpg',
),
//在堆栈中居中的黑色正方形
新对齐(
对齐:新对齐(0.0,0.0),
子容器:新容器(
身高:50.0,
宽度:50.0,
孩子:新装饰的盒子(
装饰:新盒子装饰(
颜色:颜色。黑色
),
),
),
),
新对齐(
//对齐:alignment.topLeft,
对齐:常量对齐(-1.0,-1.0),
子项:新文本('左上方',
样式:新文本样式(颜色:Colors.yellow)),
),
新对齐(
//对齐:对齐。右下角,
对齐:常量对齐(1.0,1.0),
子项:新文本('右下',
样式:新文本样式(颜色:Colors.yellow)),
),
新对齐(
对齐:新对齐(-0.8,-0.8),
儿童:新文本(
“10%英寸”,样式:新文本样式(颜色:Colors.yellow)),
),
新对齐(
对齐:新对齐(0.8,0.8),
儿童:新文本(
“90%英寸”,样式:新文本样式(颜色:Colors.yellow)),
),
]
);
}
}