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;
}