首页 > 解决方案 > 如何在 Flutter 中定位小部件 toLeftOf 或 toRightOf

问题描述

我首先想将一个小部件居中,然后在中心小部件的右侧添加另一个小部件。目前,flutter API 对此并不可行。在android中,可以很容易地在相对布局或约束布局中完成。

我尝试使用 MediaQuery 进行一些破解,

Stack(
  children: [
      Center(child: Text(17)),
      Positioned(
      bottom: 0,
      left: (screenWidth / 2) + (screenWidth / 3),
      child: Column(
          children: []
      )

)

如何以简单的方式或正确的方式尝试这个。

标签: flutterflutter-layout

解决方案


您可以Align为此使用小部件。

代码示例

import 'package:flutter/material.dart';

class SandBox extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Container(
          width: 300,
          height: 300,
          color: Colors.blue,
          child: Align(
            alignment: Alignment.centerRight, //aligns the child widget to the right center
            child: Text('17'),
          ),
        ),
      ),
    );
  }
}

推荐阅读