Animation Android-анимация орбиты эллипса - PullRequest
0 голосов
/ 06 мая 2019

Я использую это для отображения орбиты по эллиптическому пути, но моя проблема в том, что когда изображение появляется посередине, происходит небольшое замедление!

public class morbit extends Animation {

    @Override
    public boolean willChangeBounds() {
        return true;
    }

    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {

        float degg = interpolatedTime * 360;
        float angleDeg = (degg) % 360;
        double sino = Math.sin(degg * Math.PI / -180);
        sino= Math.abs(sino);
        double coso = Math.cos(degg * Math.PI / -180);
        coso= Math.abs(coso);

        double rrr = 40 + (sino * 150);

        float angleRad = (float) Math.toRadians(angleDeg);
        angleRad = angleRad;

        float y = (float) (40 * Math.cos(angleRad));
        float x = (float) (rrr * Math.sin(angleRad));

        t.getMatrix().setTranslate((float)x, (float)y);    
    }
}

. , .

morbit an = new morbit();
an.setDuration(6000);
an.setRepeatMode(Animation.INFINITE);
an.setRepeatCount(9999);
an.setInterpolator(new LinearInterpolator());

((ImageView) findViewById(R.id.dottx)).startAnimation(an);

Я использовал LinearInterpolator, но мне это не помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...