Перенос и выравнивание по флаттеру

#flutter

#флаттер

Вопрос:

Может кто-нибудь показать мне пример, который runAlignment вступает в силу в Wrap виджете flutter

В документе мы имеем

Как сами прогоны должны быть размещены на поперечной оси.

Например, если runAlignment имеет значение WrapAlignment.center , прогоны группируются вместе в центре общей обертки по поперечной оси.

Я не вижу никакой разницы, устанавливая разные значения runAlignment

Ответ №1:

Когда я попробовал сначала, мне было любопытно, почему это не runAlignment работает. Затем я обернул свой Wrap с Container помощью и установил color и угадайте, что? Wrap высота виджета настраивается по количеству запусков.

Например, если Wrap есть два запуска, то высота переноса будет эквивалентна высоте дочернего элемента, умноженной на run. Установка width и height Container ввод позволяет нам использовать runAlignment .

 import 'package:flutter/material.dart';
 
void main() => runApp(MyApp());
 
class MyApp extends StatelessWidget {
 
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
      body: Container(
        width: 500,
        height: 500,
        color: Colors.red,
        child: Wrap(
        runAlignment: WrapAlignment.spaceBetween,
        direction: Axis.horizontal,
        children: List.generate(20, (i) =>
          RaisedButton(
          onPressed: (){},
          child: Text(' Button $i '),
          textColor: Colors.white,
          color: Colors.green,
          padding: EdgeInsets.zero,
         )
        )
      )
    ))
    );
  }
}