Java Android-关于为两个独立动画更有效地编写递归方法的建议

Java Android-关于为两个独立动画更有效地编写递归方法的建议,java,android,animation,recursion,Java,Android,Animation,Recursion,我是Java和Android编程新手,通过Coursera学习这方面的课程。我的应用程序有两个上下动画图像。现在,我已经把这两个图像反复地放在一起。我得到了帮助,并编写了一个递归方法,让它们重复设置动画,直到更改pleaseStop布尔标志 我希望他们能独立行动与其编写两步递归方法,还不如只编写一步递归方法? 这里是我设置和运行动画的地方 mHandler = new Handler(); // .os package class when importing mLeftfoo

我是Java和Android编程新手,通过Coursera学习这方面的课程。我的应用程序有两个上下动画图像。现在,我已经把这两个图像反复地放在一起。我得到了帮助,并编写了一个递归方法,让它们重复设置动画,直到更改pleaseStop布尔标志

我希望他们能独立行动与其编写两步递归方法,还不如只编写一步递归方法?

这里是我设置和运行动画的地方

 mHandler = new Handler(); // .os package class when importing
        mLeftfoot = findViewById(R.id.leftfoot);
        mRightfoot = findViewById(R.id.rightfoot);  
        mFootAnim = AnimationUtils.loadAnimation(this, R.anim.foot); //this looks to the foot.xml file for the animations
        stepRecursive();
这是我的递归方法。请注意mInterval。我希望mLeftfoot和mRightfoot在他们自己的mInterval跑步。

private void stepRecursive() {
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                mLeftfoot.startAnimation(mFootAnim);
                mRightfoot.startAnimation(mFootAnim);
                if (!pleaseStop)
                    stepRecursive();
            }
        }, mInterval);

通过
stepRecursive()
方法传递一个
boolean
变量,并根据该
boolean
值决定哪个
视图必须设置动画

private void stepRecursive(final boolean isLeftFoot,final int mInterval) {
    mHandler.postDelayed(new Runnable() {

        @Override
        public void run() {
            if (isLeftFoot) {
                mLeftfoot.startAnimation(mFootAnim);
            } else {
                mRightfoot.startAnimation(mFootAnim);
            }
            if (!pleaseStop)
                stepRecursive(isLeftFoot,mInterval);
        }
    }, mInterval);
}
调用此方法时,根据
布尔值传递适当的间隔


非常接近!记住,我需要mLeftfoot和mRightfoot在不同的mInterval跑步。这不是一个或另一个。它们都是动画,只是间隔不同。我不需要两个Minterval吗?mLeftInterval和mRightInterval?另外,你能用你的答案更新代码吗?谢谢
stepRecursive(true,intervalForLeft);
stepRecursive(false,intervalForRight);