Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
147 of 1024 menu
◀ ▶

Метод withinRect

Метод withinRect класса Alignment делает то же, что alongSize, но прямоугольник может начинаться не в нуле. К смещению внутри размера прибавляются левый и верхний края.

Синтаксис

Alignment.center.withinRect(Rect.fromLTWH(10, 20, 200, 80))

Параметры

Параметр Описание
rect Прямоугольник, внутри которого считают точку.

Пример

Давайте найдём центр прямоугольника, который начинается в (10, 20):

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Builder( builder: (context) { Offset point = Alignment.center.withinRect(Rect.fromLTWH(10, 20, 200, 80)); return Text(point.dx.toStringAsFixed(0) + ' x ' + point.dy.toStringAsFixed(0)); }, ), ), ), ), ); }

На экране 110 x 60. Середина 100 x 40 сдвинута на левый и верхний край.

Пример

Давайте найдём левый верхний угол того же прямоугольника:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Builder( builder: (context) { Offset point = Alignment.topLeft.withinRect(Rect.fromLTWH(10, 20, 200, 80)); return Text(point.dx.toStringAsFixed(0) + ' x ' + point.dy.toStringAsFixed(0)); }, ), ), ), ), ); }

На экране 10 x 20, это сам левый верхний угол.

Смотрите также

  • метод alongSize,
    который переводит точку выравнивания в пиксели заданного размера
  • метод lerp,
    который смешивает две точки выравнивания в заданной доле
  • метод resolve,
    который переводит начало и конец строки в левый и правый край
  • класс Align,
    который ставит дочерний виджет в выбранную точку
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить