【问题标题】:Android ListView scroll to the middle of the viewAndroid ListView 滚动到视图的中间
【发布时间】:2015-05-26 07:29:35
【问题描述】:

我在使用 Android ListView 时遇到了这个问题。我的视图由 ListView 和底部的两个浮动按钮组成。这两个浮动按钮覆盖了 ListView 的最后一项。默认情况下,在 iOS 端,您可以将最后一个 ListView 的项目拖到 View 的中间,这样就可以看到它是什么项目。当您释放最后一项时,它会滚动回页面底部。默认情况下,在 Android 部分,ListView 的最后一项不会拖到顶部,以便在其后创建一些空间。任何想法如何实现这种行为?

【问题讨论】:

  • listView.addFooter(View);
  • Android 没有像 iOS 那样(本机)反弹的可能性。因此,您必须手动为视图添加更多空间,或者使用@Budius 的方法。

标签: android listview android-listview scroll xamarin


【解决方案1】:

这并不是您想要在 android 上真正实现的默认行为,但我认为可以使用以下方法实现它:https://stackoverflow.com/a/12424780/2350917

虽然我从未尝试过,所以请告诉我们你是怎么做到的。

编辑:

@Override
protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) {
    if(scrollY < 0) {
        smoothScrollToPosition(0);
    } else if(scrollY > MAX_SCROLL) {
        smoothScrollToPosition(getAdapter().getCount());
    }
}

编辑2:

解决此问题并遵循 android 指南的最佳方法是在您进入列表视图屏幕时显示浮动操作按钮,然后在您向下滚动时使它们消失。当您向上滚动时,它们会再次出现。像这样你可以在列表视图的最后一项上看到内容。

如果不需要始终显示浮动操作按钮,则此方法会起作用。

【讨论】:

  • 是的,您的第二个解决方案可能会达到最佳效果。我想我会考虑的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多