Указывает положение вида в определенный момент последовательности движений. Этот атрибут используется для настройки траектории движения по умолчанию.
Например, если объект начинается в левом верхнем углу и заканчивается в правом нижнем углу, последовательность движений по умолчанию перемещает объект по диагонали вниз по экрану. Добавив один или несколько элементов <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.