Android:GridView制作不同大小的图像

Android:GridView制作不同大小的图像,android,xml,android-layout,gridview,Android,Xml,Android Layout,Gridview,我试图让我的应用程序看起来像这样: 但是,我无法获得第一张大尺寸的图像。以下是我的适配器代码: public class ImageAdapter extends BaseAdapter { private Context mContext; // create a new ImageView for each item referenced by the Adapter public View getView(int position, View convertVie

我试图让我的应用程序看起来像这样:

但是,我无法获得第一张大尺寸的图像。以下是我的适配器代码:

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

    // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;

        int imgSize = 0;

        if (convertView == null) {

            //Size of the screen
            WindowManager wm = (WindowManager) mContext
                    .getSystemService(Context.WINDOW_SERVICE);
            Display display = wm.getDefaultDisplay();
            Point size = new Point();
            display.getSize(size);
            imgSize = size.x / 4;

            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(imgSize,
                    imgSize));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);

       //Trying to set image of the first column to be two times bigger than small images
        imageView.setLayoutParams(new GridView.LayoutParams(imgSize * 2,
                imgSize * 2));
        imageView.setImageResource(mThumbIds2[0]);

        return imageView;
    }

    public Integer[] mThumbIds = { R.drawable.mysmallpic, R.drawable.mysmallpic,
            R.drawable.mysmallpic, R.drawable.mysmallpic, R.drawable.mysmallpic,
            R.drawable.mysmallpic, R.drawable.mysmallpic, R.drawable.mysmallpic,
            R.drawable.mysmallpic, R.drawable.mysmallpic, R.drawable.mysmallpic,
            R.drawable.mysmallpic, R.drawable.mysmallpic, R.drawable.mysmallpic,
            R.drawable.mysmallpic, R.drawable.mysmallpic, R.drawable.mysmallpic,
            R.drawable.mysmallpic, R.drawable.mysmallpic, R.drawable.mysmallpic,
            R.drawable.mysmallpic, R.drawable.mysmallpic };

    public Integer[] mThumbIds2 = { R.drawable.mybigpic };
}
我怎样才能使我的第一张照片比其他照片更大


谢谢

尝试此方法:如果位置等于0,则将imageSize设置为屏幕大小的一半:

if (position == 0) {
    imgSize = size.x / 2;
} else {
    imgSize = size.x / 4;
}
getView方法的完整代码应为:

// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;

    int imgSize = 0;

    if (convertView == null) {

        //Size of the screen
        WindowManager wm = (WindowManager) mContext
                .getSystemService(Context.WINDOW_SERVICE);
        Display display = wm.getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        if (position == 0) {
            imgSize = size.x / 2;
        } else {
            imgSize = size.x / 4;
        }

        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(imgSize,
                imgSize));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

    } else {
        imageView = (ImageView) convertView;
    }

    imageView.setImageResource(mThumbIds[position]);

    return imageView;
}