Saya memiliki ImageView dan saya melakukan animasi skala sederhana untuk itu. Kode yang sangat standar.
Scale_up.xml saya:
<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>
Kode animasi saya:
Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up);
((ImageView) findViewById(R.id.circle_image)).startAnimation(a);
Masalah:
Ketika skala gambar itu tidak skala dari tengah, tetapi dari sudut kiri atas. Dengan kata lain, skala verion gambar tidak memiliki titik yang sama dengan titik tengah, tetapi memiliki titik kiri atas yang sama. Berikut tautan yang menjelaskan maksud saya. Gambar pertama adalah skala animasi, dan gambar kedua adalah skala yang saya inginkan. Ini harus menjaga titik tengah tetap sama. Saya telah mencoba mengatur gravitasi pada gambar, pada wadah, menyelaraskan kiri atau kanan, itu selalu berskala sama. Saya menggunakan RelativeLayout untuk layar utama dan ImageView terletak di RelativeLayout lain, tetapi saya mencoba tata letak lain, tidak ada perubahan.
pivotX
danpivotY
harus disetel ke setengahviewportWidth
danviewportHeight
tepatnya.