我正在尝试在运动中设置ivotX和pivotY。
<Constraint android:id="@id/favChatRecyclerView"
android:layout_width="match_parent"
android:layout_height="100dp"
android:alpha="1"
android:pivotY="0.0"
android:pivotX="0.0"
android:scaleY="1"
android:scaleX="1"/>
在最后一幕:
<Constraint android:id="@id/favChatRecyclerView"
android:layout_width="match_parent"
android:layout_height="100dp"
android:alpha="1"
android:pivotY="0.0"
android:pivotX="0.0"
android:scaleY="0"
android:scaleX="0"/>
但是看来枢轴点没有任何作用。我仍在以轴心为中心的比例动画。有什么办法可以解决?
答案 0 :(得分:3)
我找到了在滑动时更改文本大小的解决方案,但是我想您可以将其应用于常规的运动布局过渡。这是我的场景描述:
<Transition
motion:constraintSetStart="@+id/start"
motion:constraintSetEnd="@+id/end"
motion:duration="1000">
<OnSwipe
motion:touchAnchorId="@+id/wv_file_content"
motion:touchRegionId="@+id/v_web_view_touch_region"
motion:touchAnchorSide="bottom"
motion:dragDirection="dragUp" />
<KeyFrameSet>
<KeyAttribute
android:scaleX="1.5"
android:scaleY="1.5"
motion:framePosition="100"
motion:motionTarget="@+id/TEXTVIEW"
/>
</KeyFrameSet>
</Transition>
到目前为止,这是您已经想到的。您不能像要求的那样直接在场景描述中设置轴心点,但可以在原始的layout.xml中间接设置它,例如@vitalnik描述。
必须直接在layout.xml中设置以下内容!不在场景描述xml中。
<TextView
android:id="@+id/TEXTVIEW"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:transformPivotX="0sp"
android:transformPivotY="9sp" />
这将以一种可缩放的方式设置枢轴点,以使文本保持对齐。 我是怎么想到9sp的?我从here
获得了此计算结果等于缩放模式(在sp中)的文本视图大小的1/2
原来是我的TextView 12sp。按比例缩放1.5表示在缩放模式下为18sp。 其中一半是9sp,这是我用于android:transformPivotY
的值使用这种计算方法,您还可以使其保持正确对齐或任何您想要的形式。