まず、私がもっている最大の問題は、アンドロイドのアニメーションを想定したり、願ったり、イオスのように行動することです。アンドロイドアニメーションの問題とiosとの比較
私は、100ミリ秒ごとに更新される時間インジケータを持っています。私は、時間の経過とともに、xの位置を流動的に移動させたいと思います。 IOS
で
コード:
[NSTimer scheduledTimerWithTimeInterval:.1f target:self selector:@selector(moveIndicator:) userInfo:nil repeats:YES];
とmoveIndicator
関数内。
[UIView animateWithDuration:.1f delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
_playIndicatorView.frame = CGRectMake(myXpos, _playIndicatorView.frame.origin.y, _playIndicatorView.frame.size.width, _playIndicatorView.frame.size.height);
} completion:^(BOOL finished) {
}];
そして、これは次のようになります。
私はアンドロイドでこれをやろうとしていると、アニメーションは、私が期待どおりに動作しません
のAndroidコード:
Initの場合.1f
タイマー。
private Runnable runnable = new Runnable() {
public void run() {
if (!killMoveIndicatorTimer) {
moveIndicator();
handler.postDelayed(this, 100);
}
}
};
コールrunnable
のために私が使用しています:移動のため
handler = new Handler();
runnable.run();
私が使用している指標:
ObjectAnimator anim = ObjectAnimator.ofFloat(playerIndicatorView, "translationX", myXpos);
anim.setDuration(100);
anim.start();
と次のようになります。
、あまりにも、この他のオプション:私はそこになければなら絶対に確信しています
:
playerIndicatorView.animate().x(myXpos);
のように見えますbこのアニメーションを可能な限りiosに似せる何らかの方法。
お時間をいただきありがとうございます。
私は推測しなければならないとしたら、あなたの問題は、アニメーションではありませんが、それはメインアプリケーションスレッドを拘束されてやっている他の仕事と:二たとえば
あなたはLinearInterpolatorを使用していません。 – CommonsWare