Bir ImageView'ım var ve ona basit ölçekli bir animasyon yapıyorum. Çok standart kod.
Scale_up.xml’im:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromXScale="1"
android:fromYScale="1"
android:toXScale="1.2"
android:toYScale="1.2"
android:duration="175"/>
</set>
Animasyon kodum:
Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up);
((ImageView) findViewById(R.id.circle_image)).startAnimation(a);
Sorun:
Görüntü ölçeklendiğinde merkezden değil, sol üst köşeden ölçeklenir. Başka bir deyişle, görüntünün ölçeklendirilmiş versiyonu merkezle aynı noktaya sahip değildir, ancak aynı sol üst noktaya sahiptir. İşte ne demek istediğimi açıklayan bir bağlantı. İlk görüntü, animasyonun nasıl ölçeklendiğidir ve ikinci görüntü de benim nasıl ölçeklenmesini istediğimdir. Merkez noktayı aynı tutmalıdır. Görüntüye, konteynere, sola veya sağa hizalayarak yerçekimi kurmayı denedim, her zaman aynı ölçekleniyor. Ana ekran için RelativeLayout kullanıyorum ve ImageView başka bir RelativeLayout'ta bulunuyor, ancak diğer düzenleri denedim, değişiklik yok.
pivotX
vepivotY
yarısınaviewportWidth
veviewportHeight
tam olarak ayarlanmalıdır .