项目之间具有特定间距的 ListView

ListView with specific spacing between items

我有一个 ListView 并希望根据两个项目在项目 increase/decrease 之间留出间距。我基本上让项目随机交替,并希望当项目位于相对侧时增加间距。 我知道如何平均增加所有项目之间的间距,但在涉及特定行时却不知所措。

只需比较相应列表行的数据,并在View.

中添加适当的margin或padding

只是一个例子(很难在没有看到任何代码的情况下提供具体帮助):

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = LayoutInflater.from(someContext)
    View row = inflater.inflate(R.layout.some_layout, parent, false);

    if (position > 0) {
        Data previous = someDataset.get(position - 1);
        Data current = someDataset.get(position);

        if (previous.something() == current.something()) {
            // add margin or padding to row
        }
    }

    // set TextView texts, ImageView images etc., whatever your row has

    return row;
}

如果您不知道如何以编程方式向 View 添加边距,那么有很多现有的问题,here's an answer

如果您想添加填充,只需在 View 上调用 setPadding() 方法即可。