我有一个父线性布局,有三个子布局,每个布局都有一个权重3 我想从服务器获取图像并将这些图像放在子布局中并且工作正常。
但是在放置图像时,每次迭代后我都会得到空间。我的意思是我将迭代图像数量,并根据提醒我将这些图像放置。
图像看起来像这样(带图像的三个垂直布局)
| | |
| |
|
|
| | |
您可以看到每个图像之间的空白区域。在第一次迭代中,我得到5张图像(比方说),在第二次迭代中,我想将图像放在每个图像的单个布局下面。
我的意思是这样的
| | |
| | |
| | |
| | |
那么如何避免差距并填充图像?
这是我的代码
private View setupView(View parentView) {
int itemCount = 1;
LinearLayout columnOdd = (LinearLayout) parentView.findViewById(R.id.column_odd);
LinearLayout columnEven = (LinearLayout) parentView.findViewById(R.id.column_even);
LinearLayout columnCenter = (LinearLayout) parentView.findViewById(R.id.column_center);
View itemView = inflater.inflate(R.layout.custom_view, null);
if (itemCount % 3 == 0) {
columnEven.addView(itemView);
} else if (itemCount % 2 == 0){
columnOdd.addView(itemView);
}
else if (itemCount % 1 == 0) {
columnCenter.addView(itemView);
}
itemCount++;
}
return parentView;
这就是我在布局中夸大视图的方式:
View v = inflater.inflate(R.layout.items, null);
v = setupView(v);
if (v != null) {
mCurrentItem++;
mViews.parentLinearLayout.addView(v);
}
答案 0 :(得分:1)
如果有大量图像,则应使用gridview
,否则可能会出现内存不足异常。使用numColumns
为3的gridView。
答案 1 :(得分:1)
试试这段代码:
Task hasActivity ?activity