Specifies a view's position at a specific moment during the motion sequence. This attribute is used to adjust the default path of the motion.

For example, if an object begins at the upper-left corner and ends at the lower-right corner, the default motion sequence moves the object diagonally down the screen. By adding one or more`<KeyPosition>`elements, you can deform the path.

## Syntax

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

## Attributes

`motion:motionTarget`
:   View whose motion is controlled by this`<KeyPosition>`.

`motion:framePosition`
:   Integer from 1 to 99 specifying when in the motion sequence the view reaches the point specified by this`<KeyPosition>`. For example, if`framePosition`is 25, the view reaches the specified point one-quarter of the way through the motion.

`motion:percentX`,`motion:percentY`
:   Specify the position the view reaches. The`keyPositionType`attribute specifies how these values are interpreted.

`motion:keyPositionType`
:   Specifies how the`percentX`and`percentY`values are interpreted. Possible settings are the following:

## Contained In

- [`<KeyFrameSet>`](https://developer.android.com/training/constraint-layout/motionlayout/ref/keyframeset)