首页 > 解决方案 > 使用 GestureDetectorCompat 为 ViewGroup 高度设置动画

问题描述

GestureDetectorCompat用来做一个非常基本的ViewGroup高度动画。在我从方法签名中获取并减去或添加我得到的onScroll事件时。ViewGroupdistanceYonScroll

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {

    FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) container.getLayoutParams();

    params.height = (int) (container.getHeight() + distanceY);
    container.setLayoutParams(params);

    return true;
}

动画非常不稳定/闪烁。我在这里错过了什么吗?有没有更好的方法View根据运动事件为高度设置动画?

我的另一个疑惑是,当我向下拖动视图时,distanceY事件onScroll中包含正值和负值。下拉不应该只包含负值吗?如何判断用户是向下拖动还是向上拖动?

标签: androidandroid-animation

解决方案


推荐阅读