Флаттер позиционирования виджетов в столбце - PullRequest
0 голосов
/ 21 января 2019

enter image description here

Я пытаюсь установить изображение в центре столбца и текст в нижней части изображения, оборачивая изображение и текст в виджет «Столбец»и поместив его в виджет «Центр».

К сожалению, он центрирует столбец и делает изображение выше центра экрана.

Как мне решить эту проблему?

Мой текущий код:

  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(color: Theme.of(context).primaryColor),
      child: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Image.asset(ImagePaths.newLogoLogin),
            Text(Strings.beALocal)
          ],
        ),
      ),
    );
  }

1 Ответ

0 голосов
/ 21 января 2019

Вы можете использовать Stack с виджетом Positioned Text внутри него.

Полный пример:

void main() => runApp(App());

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text("Test")),
        body: Stack(children: [Placeholder(), Test()]),
      ),
    );
  }
}

class Test extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Stack(
        alignment: AlignmentDirectional.bottomCenter,
        overflow: Overflow.visible,
        children: <Widget>[
          Container(
            width: 150,
            height: 150,
            color: Colors.blue,
          ),
          Positioned(child: Text("Some text"), bottom: -25),
        ],
      ),
    );
  }
}

Screenshot

...