ฉันมี ImageView และฉันสร้างแอนิเมชั่นสเกลง่ายๆ รหัสมาตรฐานมาก
scale_up.xml ของฉัน:
<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>
รหัสภาพเคลื่อนไหวของฉัน:
Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up);
((ImageView) findViewById(R.id.circle_image)).startAnimation(a);
ปัญหา:
เมื่อปรับขนาดภาพจะไม่ปรับขนาดจากจุดศูนย์กลาง แต่มาจากมุมซ้ายบน กล่าวอีกนัยหนึ่งการปรับขนาดของรูปภาพไม่มีจุดเดียวกับจุดศูนย์กลาง แต่มีจุดบนซ้ายเหมือนกัน นี่คือลิงค์ที่อธิบายความหมายของฉัน ภาพแรกคือการปรับขนาดของภาพเคลื่อนไหวและภาพที่สองเป็นวิธีที่ฉันต้องการให้ปรับขนาด ควรให้จุดกึ่งกลางเหมือนเดิม ฉันได้ลองตั้งค่าแรงโน้มถ่วงให้กับรูปภาพบนคอนเทนเนอร์จัดแนวซ้ายหรือขวามันจะปรับขนาดเท่ากันเสมอ ฉันใช้ RelativeLayout สำหรับหน้าจอหลักและ ImageView อยู่ใน RelativeLayout อื่น แต่ฉันลองใช้เลย์เอาต์อื่นแล้วไม่มีการเปลี่ยนแปลง
pivotXและpivotYควรตั้งค่าเป็นครึ่งหนึ่งviewportWidthและviewportHeightเป็นค่าที่แน่นอน