Vad*_*nko 3 android android-animation
好吧,我的图像视图居中在RelativeLayout内
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgHomePlayPause"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:visibility="gone" />
Run Code Online (Sandbox Code Playgroud)
我也有这个动画:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="2.0"
android:toYScale="2.0"
android:duration="400"
android:pivotX="50%"
android:pivotY="50%"/>
</set>
Run Code Online (Sandbox Code Playgroud)
问题是当动画第一次开始时,它从左上角开始缩放,而不是从中心开始缩放.所有下一次它都可以正常工作.有任何想法吗?
计算pivotX和pivotY时可能会导致此问题.
我必须在开始时将View 可见性设置为INVISIBLE而不是GONE.这迫使我使用RelativeLayout,因为我不得不在两个View之间切换.
在您的情况下,只需将初始可见性更改为隐形,如下所示:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgHomePlayPause"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:visibility="invisible" />
Run Code Online (Sandbox Code Playgroud)
在第一次开始动画后,您可以将可见性设置为GONE,动画仍然可以使用.
结论:
我认为计算元素的宽度和高度只有在绘制一次后才能正常工作.当元素可见性设置为GONE时,它将不会被绘制,并且不能计算宽度和高度.
| 归档时间: |
|
| 查看次数: |
1534 次 |
| 最近记录: |