【问题标题】:ListView OverScrollListView OverScroll
【发布时间】:2011-09-14 22:48:13
【问题描述】:

我正在填充一个 listView,然后我想做一些花哨的事情。 我尝试在列表中添加一个 OverScroll Header,我期望的效果是,如果我过度滚动列表,一个 drawable 将显示在列表顶部,因此过度滚动标题看起来像列表的隐藏标题。

我在布局 xml 文件中设置了 overScrollHeader 和 overScrollMode,但是没有任何改变。我是在 Nexus S 上完成的。

那么我可以从 overScrollHeader 中得到什么以及如何让它发挥作用?

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 我有同样的问题。请分享代码

标签: android listview scrollview


【解决方案1】:

您可以查看http://jasonfry.co.uk/?id=27。但是它不适用于 android 版本

【讨论】:

【解决方案2】:
1) create a layout above your listview and status of this layout is gone (here is rlSearch)
2) in your activity, in action scroll, you get action motionEvent and check if listview is on the top and scroll down, you visible gone layout. here is my example and it work for me.
  listView.setOnScrollListener(new AbsListView.OnScrollListener()
        {
            boolean isScrollDown;
            float firstPosition = -1;

            @Override
            public void onScrollStateChanged(final AbsListView view, int scrollState)
            {
                view.setOnTouchListener(new View.OnTouchListener()
                {
                    @Override
                    public boolean onTouch(View v, MotionEvent event)
                    {
                        if (firstPosition == -1)
                        {
                            firstPosition = event.getRawY();
                            return false;
                        }
                        if (event.getRawY() > firstPosition && view.getFirstVisiblePosition() == 0)
                        {
                            isScrollDown = true;
                            firstPosition = -1;
                            rlSearch.setVisibility(View.VISIBLE);
                            return false;
                        }
                        if (event.getRawY() < firstPosition)
                        {
                            isScrollDown = false;
                            firstPosition = -1;
                            rlSearch.setVisibility(View.GONE);
                            return false;
                        }
                        return false;
                    }
                });
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
            {
            }

        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-21
    • 2019-11-14
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 2019-01-15
    • 2019-10-16
    • 2019-10-04
    相关资源
    最近更新 更多