首先,我们来看一下效果图
在grideView中每行显示两个item,如何根据不同手机设置图片的高、宽,让客户看起来舒服。
首先,我设置了item占屏幕的1/2,图片占屏幕的1/3,在adapter里设置大小,直接上代码
public MainGrideAdapter(Context context, List<GoodsBean> mData) {
this.mData = mData;
this.context = context;
//设置图片的大小
itemWidth = ImageSizeUtil.setImageWidth(context, 2);
imagWidth = ImageSizeUtil.setImageWidth(context, 3);
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder vHolder = null;
if (view == null) {
view = LayoutInflater.from(context).inflate(R.layout.fragment_main_grideview_item, null);
vHolder = new ViewHolder(view);
view.setTag(vHolder);
//设置图片居中,xml文件中设置不起作用了
view.setLayoutParams(new RelativeLayout.LayoutParams(itemWidth, RelativeLayout.LayoutParams.WRAP_CONTENT));
RelativeLayout.LayoutParams imgParam = new RelativeLayout.LayoutParams(imagWidth, imagWidth);
vHolder.phoneImage.setLayoutParams(imgParam);
} else {
vHolder = (ViewHolder) view.getTag();
}
根据屏幕大小设置显示图片的大小(一)大家可以一起看