カスタム ビューをゼロから作成しました。拡張View
および上書きonDraw()
。ビューをアニメーション化するときに、オフセットを使用してカスタム アニメーションを生成します。例えば。
while(!isOnTop){
mOffset++;
//draw the component a a it higher using the offset
if(position == 0)
isOnTop==true;
invalidate();
}
私のフレームはそれ自身を無効にすることから来ているという考えです。問題は、同じ画面でリストビューをスクロールするだけで、このビューが無効になる可能性があることです。
この「共有された無効化()」は、私のアニメーションに遅れを引き起こします。その遅れから抜け出す方法はありますか?
その共有環境でアニメーションを実行するための他の提案はありますか? オフセットを計算する別のスレッドを使用してアニメーションを作成するには、アニメーションを表示するために強制的な invalidation() 呼び出しも必要です (間違っている場合は修正してください)。
たとえば、より大きなステップで10回の無効化リクエストでアニメーションを実行する唯一の解決策はありますか? ラグアウトは緩和されますが、別のアプローチを使用できると思います。