موقعیت یک نما را در یک لحظه خاص در طول دنباله حرکت مشخص می کند. این ویژگی برای تنظیم مسیر پیش فرض حرکت استفاده می شود.
به عنوان مثال، اگر یک شی از گوشه بالا سمت چپ شروع می شود و در گوشه پایین سمت راست به پایان می رسد، دنباله حرکت پیش فرض شی را به صورت مورب به سمت پایین صفحه حرکت می دهد. با افزودن یک یا چند عنصر <KeyPosition>
، می توانید مسیر را تغییر شکل دهید.
نحو
<KeyPosition motion:motionTarget="@id/targetPath" motion:framePosition="percentage" motion:keyPositionType="type" motion:percentX="xOffset" motion:percentY="yOffset" />
صفات
-
motion:motionTarget
- مشاهده کنید که حرکت چه کسی توسط این
<KeyPosition>
کنترل می شود. -
motion:framePosition
- عدد صحیح از 1 تا 99 مشخص می کند که چه زمانی در دنباله حرکت نمای به نقطه مشخص شده توسط این
<KeyPosition>
می رسد. به عنوان مثال، اگرframePosition
25 باشد، نمای یک چهارم مسیر حرکت به نقطه مشخص شده می رسد. -
motion:percentX
،motion:percentY
- موقعیتی که نما به آن می رسد را مشخص کنید. ویژگی
keyPositionType
نحوه تفسیر این مقادیر را مشخص می کند. -
motion:keyPositionType
- نحوه تفسیر مقادیر
percentX
وpercentY
را مشخص می کند. تنظیمات ممکن به شرح زیر است: parentRelative
percentX
وpercentY
نسبت به نمای والد مشخص شده اند. X محور افقی است که از 0 برای سمت چپ تا 1 برای سمت راست متغیر است. Y محور عمودی است که 0 بالا و 1 پایین است.به عنوان مثال، اگر می خواهید نمای هدف به نقطه ای از سمت راست نمای والد برسد،
percentX
روی 1 وpercentY
بر روی 0.5 تنظیم کنید.deltaRelative
percentX
وpercentY
نسبت به فاصله ای که نما در طول کل دنباله حرکت حرکت می کند مشخص می شوند. X محور افقی و Y محور عمودی است. در هر دو مورد، 0 موقعیت شروع نمای در آن محور و 1 موقعیت نهایی است.فرض کنید نمای هدف 100 dp به سمت بالا و 100 dp به سمت راست حرکت می کند، اما شما می خواهید نمای 40 dp برای ربع اول حرکت به سمت پایین حرکت کند، سپس به سمت بالا قوس شود.
framePosition
را روی 25،keyPositionType
را رویdeltaRelative
وpercentY
را روی -0.4 تنظیم کنید.pathRelative
محور X جهتی است که نمای هدف در طول مسیر حرکت می کند که 0 موقعیت شروع و 1 موقعیت نهایی است. محور Y بر محور X عمود است و مقادیر مثبت در سمت چپ مسیر و مقادیر منفی در سمت راست قرار دارد. بنابراین موقعیت اولیه نمای
(0,0)
و موقعیت نهایی(1,0)
است. تنظیم یکpercentY
غیر صفر باعث می شود که نما در یک جهت یا جهت دیگر قوس شود.فرض کنید می خواهید دید نیمی از دنباله حرکت را طی کند تا 10٪ از کل مسافت را پوشش دهد، سپس سرعت را افزایش دهید تا 90٪ دیگر را بپوشانید.
framePosition
را روی 50،keyPositionType
را رویpathRelative
وpercentX
را روی 0.1 تنظیم کنید.percentY
0 باقی می ماند.