Как изменить смещение ограничения?

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

ValueAnimator animator = ValueAnimator.ofInt(100, percent);
        animator.setDuration(2000);
        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            public void onAnimationUpdate(ValueAnimator animation) {
                ViewGroup.LayoutParams params = mViewTop.getLayoutParams();
                float v = ((Float.parseFloat(animation.getAnimatedValue().toString())) / 100f) -0.1f;
                if (v<0){
                    v=0;
                }
                params.verticalBias = v;
                mViewTop.setLayoutParams(params);
            }
        });
        animator.start();
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
0
79
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно изменить, как показано ниже Вы сделали неправильный кастинг, нужно изменить

ValueAnimator animator = ValueAnimator.ofInt(100, percent);
        animator.setDuration(2000);
        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            public void onAnimationUpdate(ValueAnimator animation) {
                ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) mViewTop.getLayoutParams();
                float v = ((Float.parseFloat(animation.getAnimatedValue().toString())) / 100f) -0.1f;
                if (v<0){
                    v=0;
                }
                params.verticalBias = v;
                mViewTop.setLayoutParams(params);
            }
        });
        animator.start();

Другие вопросы по теме