0

在此处输入图像描述

我想要一排,左边有一张大图,右边有两张图,一张向上,第二张向下。如果有人可以提供帮助,请提前感谢!

4

3 回答 3

1

关键的见解是将布局分解为嵌套的行和/或列。看看这个例子,

import 'package:flutter/material.dart';

void main() {
  runApp(App());
}

class App extends StatefulWidget {
  @override
  _AppState createState() => _AppState();
}

class _AppState extends State<App> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.white,
        body: Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            Expanded(
              child: getContainer(Colors.green),
            ),
            Expanded(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: [
                  Expanded(
                    child: getContainer(Colors.yellow),
                  ),
                  Expanded(
                    child: getContainer(Colors.red),
                  )
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Widget getContainer(MaterialColor color) =>
    Container(height: 50, width: 50, color: color);

于 2021-07-12T11:36:05.757 回答
0

解决了 在此处输入图像描述

**这里是例子**

import 'package:flutter/material.dart';

class BagScreen extends StatelessWidget {
  const BagScreen({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Container(
          // color: Colors.red,
          height: 400,
          width: 400,
          child: Row(
            children: [
              Container(
                child: Image.asset(
                  "assets/images/bgimage.PNG",
                  fit: BoxFit.contain,
                  width: 250.0,
                  // height: 350.0,
                ),
              ),
              SizedBox(
                width: 10.0,
              ),
              Column(
                mainAxisAlignment: MainAxisAlignment.spaceAround,
                children: [
                  SizedBox(
                    height: 10.0,
                  ),
                  Container(
                    child: Image.asset("assets/images/upsm.PNG"),
                  ),
                  Container(
                    child: Image.asset("assets/images/upsm.PNG"),
                  ),
                ],
              )
            ],
          ),
        ),
      ),
    );
  }
}





于 2021-07-12T11:41:03.040 回答
0

一切都包含在一行中,第一列将大于第二列,小部件 Expanded flex :1。在第二列中,有一个列小部件,您的图像将有两行。

import 'package:flutter/material.dart';

class Home extends StatelessWidget {
  const Home({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        child: Row(
          children: [
            Expanded(
              child: SizedBox(
                child: Image.asset('your large image'),
              ),
              flex: 1,
            ),
            Expanded(
              child: Column(
                children: [
                  Image.asset('your second image'),
                  Image.asset('your third image'),
                ],
              ),
              flex: 0,
            )
          ],
        ),
      ),
    );
  }
}
于 2021-07-12T11:38:55.980 回答