私はandroid app
、 のカスタムビューで作業していました。アニメーションを追加したところ、emulators
では滑らかでしたが、カスタムビューのアニメーションはエミュレータ上では滑らかですが、実際のデバイスでは不安定です
それはGIFをのように明確ではないですが、エミュレータは非常に滑らかです。使用されたデバイスは、それが役立つ場合はGalaxy Note 5でした。
public void animateLayout(){
ValueAnimator valueAnimator = ValueAnimator.ofInt(25,displayHeight -initHeight);
valueAnimator.setDuration(1000);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
layoutParams = new RelativeLayout.LayoutParams(getWidth(), initHeight + (int) animation.getAnimatedValue());
setLayoutParams(layoutParams);
}
});
valueAnimator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
gameViewVisible = true;
animateArc();
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
if(gameViewVisible == false) {
valueAnimator.start();
}
}
public void animateArc(){
ValueAnimator valueAnimator = ValueAnimator.ofInt(0,achievmentProgress);
valueAnimator.setDuration(achievmentProgress*(int)4.7);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
achievmentDegrees = (int)animation.getAnimatedValue();
invalidate();
}
});
valueAnimator.start();
}
これらは私が使用するアニメーションです。
試してみたところ、うまくいかなかった –