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ếuframePosition
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ị
percentX
vàpercentY
thông dịch. Các chế độ cài đặt có thể có như sau: parentRelative
percentX
vàpercentY
đượ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
percentX
vàpercentY
đượ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ànhdeltaRelative
vàpercentY
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ậppercentY
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ênpathRelative
vàpercentX
thành 0, 1.percentY
vẫn còn 0.