Specifies view attributes at a specific moment during the motion sequence. You can use`<KeyAttribute>`to set the view's[standard attributes](https://developer.android.com/reference/android/support/constraint/motion/MotionLayout#standard-attributes).

Suppose a view's opacity (`android:alpha`) is set to 0 in the initial`<ConstraintSet>`and 1 in the final`<ConstraintSet>`. By default, this makes the view linearly fade in for the entire motion sequence. If you want the view to remain invisible for 80% of the motion sequence and then fade in quickly, add a`<KeyAttribute>`node with the`motion:framePosition`attribute set to 80 and the`android:alpha`attribute set to 0.

## Syntax

```xml
<KeyAttribute
  motion:motionTarget="@id/targetPath"
  motion:framePosition="percentage"
  [ attribute = value ]
/>
```

## Attributes

`motion:motionTarget`
:   View whose attributes are controlled by this`<KeyAttribute>`.

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

You can set the following view attributes. For more information about these attributes, see the[`View`](https://developer.android.com/reference/android/view/View)reference page.

- `android:alpha`
- `android:elevation`
- `android:rotation`
- `android:rotationX`
- `android:rotationY`
- `android:scaleX`
- `android:scaleY`
- `android:translationX`
- `android:translationY`
- `android:translationZ`
- `android:visibility`
- `transitionPathRotate`

## Contained in

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