避免差距并放置图像

时间:2015-07-06 05:10:51

标签: android image android-layout

我有一个父线性布局,有三个子布局,每个布局都有一个权重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);
}

2 个答案:

答案 0 :(得分:1)

如果有大量图像,则应使用gridview,否则可能会出现内存不足异常。使用numColumns为3的gridView。

答案 1 :(得分:1)

试试这段代码:

Task hasActivity ?activity