Перевод и макет Анимация Задача в Android - PullRequest
0 голосов
/ 03 мая 2020

У меня есть вид с макетом ниже.

enter image description here

Я хочу переместить вид B в положение вида A и одновременно переместить RelativeLayout C вверх с той же высотой Вид B. Два действия будут выполнены с анимацией. Как показано на рисунке ниже.

enter image description here

Я использую ObjectAnimation для реализации этой функции, но когда я использую

    float viewBY = viewB.getTranslationY();
    ObjectAnimator viewBMoveUp
                = ObjectAnimator.ofFloat(viewB, "translationY",
                viewBY, viewBY - viewB.getHeight());

    float layoutCCurrentY = layoutC.getY();
    ObjectAnimator layoutCMoveUp
            = ObjectAnimator.ofFloat(layoutC, "Y",
            layoutCCurrentY, layoutCCurrentY - viewB.getHeight());
    AnimatorSet animSet = new AnimatorSet();
        animSet.play(viewBMoveUp).with(layoutCMoveUp);
        animSet.setDuration(150);
        animSet.start();

Я считаю, что нижняя часть макета C также имеет вид viewB.getHeight (), чего я не ожидал. Как на картинке ниже:

enter image description here

Так кто-нибудь может помочь с этим?

...