Flutter Row: динамическая высота и вертикальное растяжение - PullRequest
0 голосов
/ 02 января 2019

У меня есть элемент ListView с динамической высотой, на который влияет текстовое содержимое. Это простой Column с двумя текстовыми виджетами.

При переносе Column в Row и добавлении Image я хочу, чтобы изображение расширялось по вертикали (но с фиксированной шириной), чтобы соответствовать автоматической высоте текста.

Однако я не могу использовать CrossAxisAlignment.stretch на Row, так как для этого требуется фиксированная высота.

Как я могу иметь свое изображение, увеличивать / уменьшать его на основе текста рядом с ним?

1 Ответ

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

A Stack автоматически обернет не расположенных детей. Вы можете использовать это в своих интересах:

image

import 'package:flutter/material.dart';

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

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(),
        body: ListView(
          children: <Widget>[
            Stack(
              children: <Widget>[
                Positioned(
                  left: 0,
                  top: 0,
                  bottom: 0,
                  width: 100,
                  child: Container(color: Colors.orange), // replace with your image
                ),
                Padding(
                  padding: EdgeInsets.fromLTRB(116, 16, 16, 16),
                  child: Text('Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo'),
                )
              ],
            ),
          ],
        )
      ),
    );
  }
}
...