<KeyPosition>

Chỉ định vị trí của khung hiển thị tại một thời điểm cụ thể trong chuỗi chuyển động. Thuộc tính này dùng để điều chỉnh đường mặc định của chuyển động.

Ví dụ: nếu một đối tượng bắt đầu ở góc trên bên trái và kết thúc tại góc dưới bên phải, chuỗi chuyển động mặc định sẽ di chuyển đối tượng theo đường chéo xuống dưới màn hình. Bằng cách thêm một hoặc nhiều phần tử <KeyPosition>, bạn có thể làm biến dạng đường dẫn.

Cú pháp

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

Thuộc tính

motion:motionTarget
Xem chuyển động của ai do <KeyPosition> này điều khiển.
motion:framePosition
Số nguyên từ 1 đến 99 chỉ định thời điểm khung hiển thị đạt đến trong chuỗi chuyển động điểm do <KeyPosition> này chỉ định. Ví dụ: nếu framePosition là 25, khung hiển thị đến điểm được chỉ định một phần tư quãng đường của chuyển động.
motion:percentX, motion:percentY
Chỉ định vị trí mà khung hiển thị tiếp cận. keyPositionType chỉ định cách diễn giải các giá trị này.
motion:keyPositionType
Chỉ định cách giá trị percentXpercentY thông dịch. Các chế độ cài đặt có thể có như sau:
  • parentRelative
  • percentXpercentY được chỉ định tương ứng với chế độ xem mẹ. X là trục ngang, nằm trong khoảng từ 0 cho bên trái sang 1 cho phía bên phải. Y là trục tung, với 0 là trục tung trên cùng và 1 là dưới cùng.

    Ví dụ: nếu bạn muốn khung hiển thị đích đạt đến một điểm ở giữa ở bên phải của chế độ xem mẹ, hãy đặt percentX thành 1 và percentY thành 0,5.

  • deltaRelative
  • percentXpercentY được chỉ định tương ứng với khoảng cách mà khung nhìn di chuyển trong toàn bộ chuỗi chuyển động. X là trục hoành và Y là trục tung. Trong cả hai các trường hợp, 0 là vị trí bắt đầu của thành phần hiển thị trên trục đó, và 1 là kết quả cuối cùng vị trí.

    Giả sử khung hiển thị đích di chuyển 100 dp lên trên và 100 dp sang phải, nhưng bạn muốn khung hiển thị di chuyển xuống 40 dp trong một phần tư đầu tiên của chuyển động, sau đó di chuyển vòng cung trở lại lên. Đặt framePosition thành 25, keyPositionType thành deltaRelativepercentY thành -0, 4.

  • pathRelative
  • Trục X là hướng mà khung hiển thị mục tiêu di chuyển trong suốt quá trình đường dẫn, với 0 là vị trí bắt đầu và 1 là vị trí cuối cùng. Chiến lược phát hành đĩa đơn Trục Y vuông góc với trục X, với các giá trị dương ở bên trái và giá trị âm ở bên phải. Vậy vị trí ban đầu của khung hiển thị là (0,0) và vị trí cuối cùng là (1,0). Thiết lập percentY khác 0 làm cho khung hiển thị vòng cung theo một hướng hoặc khác.

    Giả sử bạn muốn khung hiển thị chiếm một nửa chuỗi chuyển động chiếm 10% sau đó tăng tốc để đạt được 90% còn lại. Đặt framePosition lên 50, keyPositionType lên pathRelativepercentX thành 0, 1. percentY vẫn còn 0.

Có trong