betacode

Руководство Flutter Positioned

View more Tutorials:

1- Positioned

Widget Positioned используется для позиционирования дочернего виджета Stack.
Positioned используется только как прямой (или дочерний) виджет Stack. На пути от Positioned к Stack он включает только виджеты StatelessWidget или StatefulWidget, другие виджеты не допускаются (например, RenderObjectWidget).
Positioned constructor
const Positioned(
    {Key key,
    double left,
    double top,
    double right,
    double bottom,
    double width,
    double height,
    @required Widget child}
)
Например:
(ex1)
SizedBox (
    width: double.infinity,
    height: double.infinity,
    child: Stack(
      alignment: Alignment.centerLeft,
      children: <Widget>[
        Positioned (
           left: 100,
          top: 70,
          child: Container(
            width: 200,
            height: 100,
            color: Colors.green,
          ),
        )
      ],
    )
)
Размеры Positioned и его дочернего элемента всегда одинаковы.
Давайте рассмотрим пример: Positioned с ненулевым top и bottom заставляет высоту дочернего виджета изменяться в соответствии с этим ограничением.
(ex2)
SizedBox (
    width: double.infinity,
    height: double.infinity,
    child: Stack(
      alignment: Alignment.centerLeft,
      children: <Widget>[
        Positioned (
          top: 100,
          bottom: 70,
          child: Container (
            width: 200,
            height: 30, // !!
            color: Colors.green,
          ),
        )
      ],
    )
)
Если все три параметра left, right, width равны null , то свойство Stack.alignment будет использоваться для позиционирования дочернего виджета по горизонтали. Аналогично, если все три параметра top, bottom, height равны null, то свойство Stack.alignment будет использоваться для позиционирования дочернего виджета по вертикальному направлению.

2- Positioned.directional constructor

Positioned.directional используется для создания Positioned на основе направления текста.
Positioned.directional constructor
Positioned.directional(
  {Key key,
  @required TextDirection textDirection,
  double start,
  double top,
  double end,
  double bottom,
  double width,
  double height,
  @required Widget child}
)
Параметр textDirection является обязательным, а не null. Он принимает значение TextDirection.ltr (Left to Right) или TextDirection.rtl (Right to Left).
Если textDirection является TextDirection.ltr, то параметры (start, end) будут соответствовать (left, right). В противном случае (start, end) будут соответствовать (right, left).

3- Positioned.fill constructor

Positioned.fill это конструктор с параметрами left, right, top и bottom, имеющими значения по умолчанию 0.
Positioned.fill constructor
const Positioned.fill(
  {Key key,
  double left: 0.0,
  double top: 0.0,
  double right: 0.0,
  double bottom: 0.0,
  @required Widget child}
)

4- Positioned.fromRect constructor

Positioned.fromRect создает объект Positioned со значениями, заданными объектом Rect.
Positioned.fromRect constructor
Positioned.fromRect(
  {Key key,
  Rect rect,
  @required Widget child}
)
  • TODO Link!

5- Positioned.fromRelativeRect constructor

Positioned.fromRelativeRect создает объект Positioned со значениями, заданными объектом RelativeRect.
Positioned.fromRelativeRect constructor
Positioned.fromRelativeRect(
  {Key key,
  RelativeRect rect,
  @required Widget child}
)
  • TODO Link!

View more Tutorials:

Maybe you are interested

Это онлайн курс вне вебсайта o7planning, который мы представляем, он включает бесплатные курсы или курсы со скидкой.