gpt4 book ai didi

flutter - 将子容器定位在分数位置

转载 作者:IT王子 更新时间:2023-10-29 06:35:45 25 4
gpt4 key购买 nike

如何在堆栈内的特定(小数)位置放置一个具有设定大小的正方形?

我可以求助于画家,但我想看看是否可以使用 Widgets。

最佳答案

您可以在设置大小的 Container 中使用 DecoratedBox 来绘制一个正方形并将其放置在 Stack 中的任何位置,方法是将其包裹在AlignmentPositioned 小部件:

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)),
),
]
);
}
}

关于flutter - 将子容器定位在分数位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47212414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com