将初始大小设置为从BaseAdapter的getView方法返回的LinearLayout

时间:2012-03-17 20:00:14

标签: android

我正在尝试编写一个使用GridView显示图像的照片库。图像从远程位置加载,我想在加载图像时显示水平进度条。这部分工作正常。我编写了从BaseAdapter扩展的自定义适配器。在我的getView方法中,我返回的是LinearLayout对象,该对象在其中跟踪ProgressBar对象,当图像加载完成时,它将被ImageView取代。

所以这是我的问题。与ImageView对象相比,进度条很薄(高度较小)。当画廊活动开始时我会看到很多进度条,然后他们开始“扩展”(因为图像高度比进度条高度大)并且它是可怕的丑陋。我想将初始宽度和高度设置为我在getView方法中返回的LinearLayout对象。

任何人都可以帮我实现这个目标吗?

这是我的代码:

public class GalleryAdapter extends BaseAdapter{

public View getView(int position, View convertView, ViewGroup parent){

    LinearLayout layout = new LinearLayout(activity);

    // Some code here to set initial width and height to layout


    // This is my image loader that puts progress bar in layout, 
    // loads image then replaces progrssbar with image
    new LoadAndShowImage(imageUrl, layout, onClick, memCache).execute();

    return layout;
}


}

1 个答案:

答案 0 :(得分:1)

我以其他方式提出问题并得到答案。它是here