【问题标题】:android list view constant scroll amountandroid列表视图常量滚动量
【发布时间】:2014-11-08 11:54:50
【问题描述】:

我正在开发适用于电视平台的 android 应用程序,其中有一个包含元素的列表视图。 我在列表视图中有设置元素,因此总是可见,例如其中 5 个,以及第 6 个元素的一半。

当我使用遥控器在列表中移动时,我希望列表视图需要滚动以显示整个 6 个元素,而不是滚动到刚好足以显示第 6 个元素,而是滚动一个元素高度以再次显示一半第 7 个元素。

我希望你明白我想要达到的目标。

如何做到这一点?

提前致谢。

编辑:

只是为了让它更清楚一点:


元素 1

元素 2

元素 3

元素 4

元素 5

元素 6 的一半

这没问题。现在用遥控器向下移动焦点。这就是发生的事情。


元素 1 的一半

元素 2

元素 3

元素 4

元素 5

元素 6

我需要这个:


元素 2

元素 3

元素 4

元素 5

元素 6

元素 7 的一半

如何在需要滚动时制作列表视图,滚动到元素高度的确切像素数量?

【问题讨论】:

  • 您希望在滚动列表视图后剩余的元素必须显示正确
  • 我添加了我的用例示例。
  • 你可以使用requestChildRectangleOnScreen,你需要检查onKeyUp然后得到firstVisibleItem然后使用requestChildRectangleOnScreen。但对于最后一项,我认为这种情况有问题
  • 您能提供一些代码示例吗?最后一个元素我已经在最后添加了一个假的不可见元素,所以真正的最后一个元素和其他元素是一样的。
  • 我为你提到的所有方法都是从developer.android.com/reference/android/widget/ListView.html带来的,请看

标签: android listview scroll


【解决方案1】:
ListView listview;
listView = (ListView) findViewById(R.id.listView1);
 listView.setOnScrollListener(new OnScrollListener() {


            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
            }

            @SuppressWarnings("deprecation")
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                    int visibleItemCount, int totalItemCount) {

                //Your code...
            }
        });

【讨论】:

  • 这会导致listview抖动。如果我总是手动滚动一点。我正在寻找通用解决方案。
猜你喜欢
  • 2012-08-05
  • 2013-08-24
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多