android:Gridview 通过单击按钮显示更多项目

问题描述 投票:0回答:2

我想创建一个像这样的网格视图。 (抱歉,有点乱,画得不好:D) sorry it's a bit messy 所以基本上 gridview 将显示第 1 - 4 项。如果我点击下一步,第 5-8 项将会出现..依此类推。

我当前的想法是设置一个包含 4 个项目的网格视图,并在每次单击按钮时更改适配器。但我认为这并不是很方便。另一个想法是使用“分页”..

谢谢!

android gridview pagination
2个回答
0
投票

您可以使用包含线性布局的水平滚动视图,并在线性布局中动态添加网格项(视图)。 如果您在这个想法上仍然需要帮助,请告诉我!


0
投票

要实现此目的,请使用 RecyclerView 和水平 LinearLayoutManager 。但是,用户也可以滚动项目。要禁用 RecyclerView 上的滚动,您可以对其进行子类化并重写 onTouchEvent() 方法,这将禁用对 MOVE 事件的任何反应:

@Override
public boolean onTouchEvent(MotionEvent event) {

    switch(event.getAction()){

        case MotionEvent.ACTION_DOWN:
            return super.onTouchEvent(event);

        case MotionEvent.ACTION_MOVE:
            break; //Don't call super.

        case MotionEvent.ACTION_UP:
            return super.onTouchEvent(event);
    }
    return false;
}

当用户单击按钮移至下一页时,您可以在

LinearLayoutManager
对象上使用以下方法之一来查找适配器内的当前位置:

int findFirstVisibleItemPosition();
int findFirstCompletelyVisibleItemPosition();
int findLastVisibleItemPosition();
int findLastCompletelyVisibleItemPosition();

确定新位置后,您可以使用

scrollToPosition()
smoothScrollToPosition()
方法滚动到新数据..

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.