Указывает положение вида в определенный момент последовательности движений. Этот атрибут используется для настройки траектории движения по умолчанию.
Например, если объект начинается в левом верхнем углу и заканчивается в правом нижнем углу, последовательность движений по умолчанию перемещает объект по диагонали вниз по экрану. Добавив один или несколько элементов <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. Возможные настройки следующие: parentRelativepercentXиpercentYуказываются относительно родительского представления. X — горизонтальная ось, от 0 для левой стороны до 1 для правой стороны. Y — вертикальная ось, где 0 — верх, а 1 — низ.Например, если вы хотите, чтобы целевое представление достигло точки посередине правой части родительского представления, установите для
percentXзначение 1, аpercentY— 0,5.deltaRelativepercentXи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.