Android:隐藏/显示页脚/标题为滚动滚动查看向下/向上

时间:2015-12-02 08:26:20

标签: java android animation scrollview motionevent

我正在尝试实现一种方法,让我的页脚向下滑动,然后我的标题向上滑动,同时用户向下滚动滚动视图。

反之亦然,当用户向上滚动scollview时,我希望我的页脚从底部滑入,标题从顶部滑入。

关于动画,我发现这个好的库https://github.com/daimajia/AndroidViewAnimations带有很多不错的动画。

我正在寻找的最接近的示例是默认的Android Twitter应用程序,当用户向下滚动时间线并使其在用户向上滚动时重新出现时,它的页脚消失。

通过标题,我不是在谈论Android工具栏(op AppBar或其他)。这是一个自定义的UI元素,我想在用户滚动时制作动画。

页脚也是如此:它是一个定制的UI元素。

在寻找解决方案时,我偶然发现了这个答案https://stackoverflow.com/a/28712465/3535408,但它不起作用。 事实上,在Log.dif中放置else if表示,用手指轻触即可触发MotionEvent.ACTION_DOWNMotionEvent.ACTION_UP事件。这同样适用于我向上/向下滑动手指使滚动视图向上/向下滚动:当我停止触摸滚动视图时,两个事件都在最后触发。

有没有办法改进这个解决方案?因为截至目前,由于触发了MotionEvents ,所以两个动画也会被触发,因此结果非常糟糕。

谢谢!

1 个答案:

答案 0 :(得分:1)

实现这一目标的简单方法如下:

  • 将列表视图,页眉和页脚放在RelativeLayout
  • 将标题与父级的顶部对齐
  • 将页脚与父级底部对齐
  • 将空页眉和页脚添加到具有相同高度的列表视图
  • 捕捉列表视图中的滚动事件,并相应地更改页脚和/或标题的translationY

但是要回答你的问题,我会说你应该试试一个GestureDetector。管理事件更容易 - Detecting Gestures