小编Net*_*evi的帖子

几次setAnimation调用后Android视图轮换没有发生

我一直在尝试编写一个将图像旋转到特定角度的活动方法.旋转有效,但问题是方法每隔一秒左右调用一次,但只在前几次旋转.在某个点上,动画的图像只是静止不动,即使动画正在设置并以不同的值开始!假设移动图像,就像前几次一样.

private void animateNeedle(final float sfAngle)
{
    final View viewNeedle = findViewById(R.id.needle);
    final RotateAnimation needleAnimation;

    RotateAnimation anim;

    anim = new RotateAnimation( 0,
        sfAngle,
        m_nNeedleWidth / 2,
        m_nNeedleHeight);
    anim.setDuration(200);
    anim.setFillAfter(true);
    viewNeedle.setAnimation(anim);
    anim.setAnimationListener(new AnimationListener()
    {

        @Override
        public void onAnimationEnd(final Animation animation)
        {
            viewNeedle.clearAnimation();
        }

        @Override
        public void onAnimationRepeat(final Animation animation)
        {
            // TODO Auto-generated method stub
        }

        @Override
        public void onAnimationStart(final Animation animation)
        {
            // TODO Auto-generated method stub
        }
    });

    anim.start();
    findViewById(android.R.id.content).postInvalidate();
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我确保在动画期间不会调用该函数两次但它没有帮助.

animation multithreading android views

5
推荐指数
1
解决办法
445
查看次数

标签 统计

android ×1

animation ×1

multithreading ×1

views ×1