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

Метод lerp

Метод lerp класса Alignment смешивает горизонталь и вертикаль двух точек. Координаты лежат от -1 до 1. Середина между противоположными углами это центр.

Синтаксис

Alignment.lerp(Alignment.topLeft, Alignment.bottomRight, 0.5)

Параметры

Параметр Описание
a Первая точка.
b Вторая точка.
t Доля смешивания от 0 до 1.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Builder( builder: (context) { Alignment point = Alignment.lerp(Alignment.topLeft, Alignment.bottomRight, 0.5)!; Offset spot = point.alongSize(Size(2, 2)); return Text(spot.dx.toStringAsFixed(0) + ' x ' + spot.dy.toStringAsFixed(0)); }, ), ), ), ), ); }

На экране 1 x 1. На размере 2 на 2 это центр: доли -1 и 1 сошлись в 0.

Пример

Давайте оставим левый верхний угол:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Builder( builder: (context) { Alignment point = Alignment.lerp(Alignment.topLeft, Alignment.bottomRight, 0)!; Offset spot = point.alongSize(Size(2, 2)); return Text(spot.dx.toStringAsFixed(0) + ' x ' + spot.dy.toStringAsFixed(0)); }, ), ), ), ), ); }

На экране 0 x 0. Доля 0 оставляет первую точку, а левый верхний угол размера лежит в нуле.

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

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