【问题标题】:ListView with specific spacing between items项目之间具有特定间距的 ListView
【发布时间】:2017-12-04 18:17:03
【问题描述】:

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

【问题讨论】:

    标签: android listview spacing


    【解决方案1】:

    只需比较相应列表行的数据,并为View添加适当的边距或填充。

    只是一个例子(如果没有看到您的任何代码,很难提供具体的帮助):

    @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() 方法即可。

    【讨论】: