私はImageViewを持っており、それにシンプルなスケールのアニメーションを行います。非常に標準的なコード。Androidの画像スケールのアニメーション中心点を基準にして
マイ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);
問題:
画像は、それは中心からスケールしないスケール、しかしから左上隅。換言すれば、画像の縮尺変更されたバージョンは中心と同じポイントを持たないが、同じ左上のポイントを有する。 Here's a link that explains what I mean.最初のイメージはアニメーションのスケールです.2番目のイメージはスケールをどのようにしたいのです。中心点を同じに保つ必要があります。私はコンテナ上でイメージ上に重力を設定しようとしましたが、左または右に揃えて、常に同じ縮尺になりました。 私はメイン画面にRelativeLayoutを使用していますが、ImageViewは別のRelativeLayoutにありますが、他のレイアウトを試しましたが、変更はありませんでした。
50%pが仕事をしました。 –
私の場合50%が仕事をしました(pなし) – agamov
アニメーションを適用するコンポーネントの幅または高さに相対的であればpなしでなければなりません。 pは、アニメーションを適用するurのコンポーネントの親を指します。 –