<KeyPosition>

Указывает положение вида в определенный момент последовательности движений. Этот атрибут используется для настройки траектории движения по умолчанию.

Например, если объект начинается в левом верхнем углу и заканчивается в правом нижнем углу, последовательность движений по умолчанию перемещает объект по диагонали вниз по экрану. Добавив один или несколько элементов <KeyPosition> , вы можете деформировать путь.

Синтаксис

<KeyPosition
    motion:motionTarget="@id/targetPath"
    motion:framePosition="percentage"
    motion:keyPositionType="type"
    motion:percentX="xOffset"
  motion:percentY="yOffset"
/>

Атрибуты

motion:motionTarget
Просмотрите, чье движение контролируется этим <KeyPosition> .
motion:framePosition
Целое число от 1 до 99, указывающее, когда в последовательности движения вид достигает точки, указанной этим <KeyPosition> . Например, если framePosition равно 25, представление достигает указанной точки на четверти пути движения.
motion:percentX , motion:percentY
Укажите положение, которого достигает вид. Атрибут keyPositionType определяет, как интерпретируются эти значения.
motion:keyPositionType
Указывает, как интерпретируются значения percentX и percentY . Возможные настройки следующие:
  • parentRelative
  • percentX и percentY указываются относительно родительского представления. X — горизонтальная ось, от 0 для левой стороны до 1 для правой стороны. Y — вертикальная ось, где 0 — верх, а 1 — низ.

    Например, если вы хотите, чтобы целевое представление достигло точки посередине правой части родительского представления, установите для percentX значение 1, а percentY — 0,5.

  • deltaRelative
  • percentX и percentY указываются относительно расстояния, на которое перемещается представление в течение всей последовательности движений. X — горизонтальная ось, Y — вертикальная ось. В обоих случаях 0 — это начальная позиция представления по этой оси, а 1 — конечная позиция.

    Предположим, целевой вид перемещается на 100 дп вверх и на 100 дп вправо, но вы хотите, чтобы вид переместился на 40 дп вниз в течение первой четверти движения, а затем вернулся вверх. Установите framePosition значение 25, для параметра keyPositionType значение deltaRelative и для percentY значение -0,4.

  • pathRelative
  • Ось X — это направление, в котором целевой вид движется по пути, где 0 — начальная позиция, а 1 — конечная позиция. Ось Y перпендикулярна оси X, с положительными значениями слева от пути и отрицательными значениями справа. Таким образом, начальная позиция представления — (0,0) , а конечная позиция — (1,0) . Установка ненулевого percentY приводит к тому, что представление поворачивается в одном или другом направлении.

    Предположим, вы хотите, чтобы половина последовательности движений покрывала 10 % общего расстояния, а затем увеличивалась скорость, чтобы охватить остальные 90 %. Установите framePosition значение 50, для параметра keyPositionType значение pathRelative и для percentX значение 0,1. percentY остается 0.

Содержится в