<Posición clave>

Especifica la posición de una vista en un momento determinado durante la secuencia de movimiento. El atributo se usa para ajustar la ruta predeterminada del movimiento.

Por ejemplo, si un objeto comienza en la esquina superior izquierda y termina en la en la esquina inferior derecha, la secuencia de movimiento predeterminada mueve el objeto en diagonal hacia abajo la pantalla. Si agregas uno o más elementos <KeyPosition>, puedes deformar la ruta de acceso.

Sintaxis

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

Atributos

motion:motionTarget
Vista cuyo movimiento está controlado por este <KeyPosition>.
motion:framePosition
Número entero del 1 al 99 que especifica cuándo alcanza la vista en la secuencia de movimiento el punto que especifica este <KeyPosition>. Por ejemplo, framePosition es 25; la vista alcanza el punto especificado. un cuarto del recorrido del movimiento.
motion:percentX, motion:percentY
Especifica la posición que alcanza la vista. El keyPositionType especifica cómo se interpretan estos valores.
motion:keyPositionType
Especifica cómo se calculan los valores percentX y percentY. no se interpretan. Las opciones de configuración posibles son las siguientes:
  • parentRelative
  • percentX y percentY se especifican en relación con la vista superior. X es el eje horizontal, que va de 0 a la izquierda. del lado derecho a 1 del lado derecho. Y es el eje vertical, donde 0 es el superior y 1 es la parte inferior.

    Por ejemplo, si quieres que la vista de destino llegue a un punto en la mitad del lado derecho de la vista superior, establece percentX en 1 y De percentY a 0.5.

  • deltaRelative
  • percentX y percentY se especifican en relación con la distancia que recorre la vista en el transcurso de toda la secuencia de movimiento. X es el eje horizontal y Y es el eje vertical. En ambos 0 es la posición inicial de la vista en ese eje y 1 es la última posición posición.

    Supongamos que la vista de destino se mueve 100 dp hacia arriba y 100 dp hacia la derecha, pero quieres la vista se mueva 40 dp hacia abajo durante el primer cuarto del movimiento y luego arriba. Establecer framePosition en 25 y keyPositionType en deltaRelative y percentY a -0.4.

  • pathRelative
  • El eje X es la dirección que mueve la vista de destino a lo largo del ruta, donde 0 es la posición inicial y 1 es la última. El El eje Y es perpendicular al eje X, con valores positivos a la izquierda del y los valores negativos a la derecha. Entonces, la posición inicial de la vista es (0,0) y la posición final es (1,0). Establecer un percentY distinto de cero hace que la vista se dirija hacia una dirección, o bien entre sí.

    Supongamos que quieres que la vista tome la mitad de la secuencia de movimiento para cubrir el 10% de la distancia total y, luego, acelera para cubrir el otro 90%. Definir De framePosition a 50, de keyPositionType a pathRelative y percentX a 0.1. percentY sigue siendo 0.

Se incluye en: