Android ObjectAnimator:缩放动画后的填充
Android ObjectAnimator: Padding after scale animation
我对使用 ObjectAnimator 的 scaleX 和 scaleY 动画有疑问。
动画结束时,里面的Drawable变大了,但ImageView的边框没有变大
我的问题架构:click here
XML ImageView代码
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/avenger"
android:background="@null"
android:id="@+id/vaisseau"
android:adjustViewBounds="true"
android:layout_above="@+id/santeBouclier"
android:layout_centerHorizontal="true" />
动画代码:
ImageView avenger = (ImageView)this.jeu.findViewById(R.id.vaisseau);
AnimatorSet resizeAvenger = new AnimatorSet();
ObjectAnimator animResizeX = ObjectAnimator.ofFloat(avenger, "scaleX", 1f, 0.3f);
animResizeX.setDuration(4000);
ObjectAnimator animResizeY = ObjectAnimator.ofFloat(avenger, "scaleY", 1f, 0.3f);
animResizeY.setDuration(4000);
resizeAvenger.playTogether(animResizeX, animResizeY);
resizeAvenger.start();
我想我的问题就在这里:
动画前:
avenger.getScaleX() = 1
avenger.getWidth() = 190
动画后:
avenger.getScaleX() = 0.3
avenger.getWidth() = 190
按此处所述乘以宽度和比例因子:
getWidth not returning different value after scaling
我对使用 ObjectAnimator 的 scaleX 和 scaleY 动画有疑问。
动画结束时,里面的Drawable变大了,但ImageView的边框没有变大
我的问题架构:click here
XML ImageView代码
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/avenger"
android:background="@null"
android:id="@+id/vaisseau"
android:adjustViewBounds="true"
android:layout_above="@+id/santeBouclier"
android:layout_centerHorizontal="true" />
动画代码:
ImageView avenger = (ImageView)this.jeu.findViewById(R.id.vaisseau);
AnimatorSet resizeAvenger = new AnimatorSet();
ObjectAnimator animResizeX = ObjectAnimator.ofFloat(avenger, "scaleX", 1f, 0.3f);
animResizeX.setDuration(4000);
ObjectAnimator animResizeY = ObjectAnimator.ofFloat(avenger, "scaleY", 1f, 0.3f);
animResizeY.setDuration(4000);
resizeAvenger.playTogether(animResizeX, animResizeY);
resizeAvenger.start();
我想我的问题就在这里:
动画前:
avenger.getScaleX() = 1
avenger.getWidth() = 190
动画后:
avenger.getScaleX() = 0.3
avenger.getWidth() = 190
按此处所述乘以宽度和比例因子:
getWidth not returning different value after scaling