私は少し問題がありますが、うまくいけば誰かがチャイムして助けてくれるでしょう。Androidカスタムズームアニメの性能が悪い
私はカスタムビューのアニメーションを作成しました。(ターゲットビューを特定の時間の間にハンドラに変更する実行可能ファイルをポストしていますが)ビューの幅と高さを変更すると、 0,0)を中心にズームしたいので、それに従ってマージンを変更してビューを移動します。問題は、ズーム反復のステップが小さすぎる(つまり0.01f以下)場合、ビューのマージンを1つの方向だけで変更する必要があります。方向の1つで、アニメーションがきらきらとしているように見えることがあります。私は正確な理由は分かりませんが、私は次のことを試しました:
1)ズーム時にlayoutParamsを設定するときに、親ビューのonLayout()をオーバーライドしてマージンを変更しようとしました。これは、setLayoutParams()が実際にはあまり合理的ではないように見える移動時に、setLayoutParams()への2回目の呼び出しを避けるために行いました。
2)新しい余白をチェックして、XとYの両方の方向で新しい余白と古い余白の間に差がある場合にのみ設定されるようにします。
3)ビューを移動するためにレイアウトパラメータを変更するのではなく、view.offsetLeftAndRight()view.offsetTopAndBottom()を使用してみましたが、やはり役に立たなかったです。
どのような提案がありますか?
XMLにアニメーションを書き込むのではなく、ランナブルをハンドラにポストすることを選択する特別な理由はありますか? – roboguy12