Tôi có ImageView và tôi tạo một hoạt ảnh tỷ lệ đơn giản cho nó. Mã rất chuẩn.
Scale_up.xml của tôi:
<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>
Mã hoạt ảnh của tôi:
Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up);
((ImageView) findViewById(R.id.circle_image)).startAnimation(a);
Vấn đề:
Khi hình ảnh chia tỷ lệ, nó không chia tỷ lệ từ trung tâm mà từ góc trên cùng bên trái. Nói cách khác, xác minh tỷ lệ của hình ảnh không có cùng điểm với tâm, nhưng nó có cùng điểm trên cùng bên trái. Đây là một liên kết giải thích ý tôi muốn nói. Hình ảnh đầu tiên là cách hoạt ảnh chia tỷ lệ và hình ảnh thứ hai là cách tôi muốn nó chia tỷ lệ. Nó nên giữ nguyên điểm trung tâm. Tôi đã thử thiết lập lực hấp dẫn trên hình ảnh, trên vùng chứa, căn trái hoặc phải, nó luôn có tỷ lệ như nhau. Tôi đang sử dụng RelativeLayout cho màn hình chính và ImageView nằm trong một RelativeLayout khác, nhưng tôi đã thử các bố cục khác, không có gì thay đổi.
pivotX
vàpivotY
phải được đặt thành một nửaviewportWidth
vàviewportHeight
chính xác.