向下滚动时隐藏卡片视图,向上滚动时显示

时间:2016-08-04 09:57:27

标签: android scrollview

我有一个屏幕,如下面的屏幕截图所示。我有一个类别包括"蔬菜","水果"和"零食"通过卡片视图显示在顶部。现在我想要的是在向下滚动时隐藏这个部分并仅在向上滚动时显示它。

我该怎么做?

[附加信息:对于滚动的产品,"滚动视图"用来。整个屏幕也是片段。]

enter image description here

2 个答案:

答案 0 :(得分:0)

你可以在一个检查视图是否达到滚动视图边界的方法中传递cardview视图。这篇文章可能有助于Android: how to check if a View inside of ScrollView is visible?

答案 1 :(得分:0)

您可以在listView onScrollListener中显示和隐藏您的cardview。请参阅此方法,它非常有帮助。

 private int mLastFirstVisibleItem;
 private ListView listView;

 listView.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if (view.getId() == listView.getId()) {
                final int currentFirstVisibleItem = listView.getFirstVisiblePosition();

                if (currentFirstVisibleItem > mLastFirstVisibleItem) {
                    cardView.setVisibility(View.GONE);
                } else if (currentFirstVisibleItem < mLastFirstVisibleItem) {
                    cardView.setVisibility(View.VISIBLE);
                }
                mLastFirstVisibleItem = currentFirstVisibleItem;

            }

        }