【问题标题】:Android : hide/show footer/header as scrolling scrollview down/upAndroid:隐藏/显示页脚/页眉作为向下/向上滚动的滚动视图
【发布时间】:2016-03-06 09:52:38
【问题描述】:

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

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

关于动画,我找到了这个很好的库https://github.com/daimajia/AndroidViewAnimations,它带有很多漂亮的动画。

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

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

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

在寻找解决方案时,我偶然发现了这个答案https://stackoverflow.com/a/28712465/3535408,但它不起作用。 实际上,将Log.d 放在ifelse if 中表明,用我的手指进行的简单触摸会同时触发MotionEvent.ACTION_DOWNMotionEvent.ACTION_UP 事件。这同样适用于我向上/向下滑动手指使滚动视图向上/向下滚动:当我停止触摸滚动视图时,这两个事件都会在最后触发。

有没有办法改进这个解决方案?因为到目前为止,随着MotionEvents都被触发,两个动画也都被触发了,所以结果很可怕。

谢谢!

【问题讨论】:

    标签: java android animation scrollview motionevent


    【解决方案1】:

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

    • 将列表视图、页眉和页脚放在相对布局中
    • 将标题与父级顶部对齐
    • 将页脚与父级底部对齐
    • 在列表视图中添加一个空的页眉和页脚,高度相同
    • 捕捉列表视图上的滚动事件并相应地更改页脚和/或页眉的翻译

    但要回答您的问题,我想说您应该尝试使用 GestureDetector。管理事件更容易 - Detecting Gestures

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      • 2023-01-17
      相关资源
      最近更新 更多