【发布时间】:2017-12-04 18:17:03
【问题描述】:
我有一个ListView 并希望根据这两个项目增加/减少项目之间的间距。我基本上让项目随机交替边,并希望当项目在相对侧时间距增加。
我知道如何平均增加所有项目之间的间距,但在涉及特定行时不知所措。
【问题讨论】:
我有一个ListView 并希望根据这两个项目增加/减少项目之间的间距。我基本上让项目随机交替边,并希望当项目在相对侧时间距增加。
我知道如何平均增加所有项目之间的间距,但在涉及特定行时不知所措。
【问题讨论】:
只需比较相应列表行的数据,并为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() 方法即可。
【讨论】: