当前位置: 代码迷 >> Android >> android GridView网格布局,高度有关问题
  详细解决方案

android GridView网格布局,高度有关问题

热度:100   发布时间:2016-04-28 02:44:22.0
android GridView网格布局,高度问题

 项目中,遇到这样问题,

网格布局宽度自适应,但是高度设不了,文字和图片下面有一大片空白,将高度写死为306dp也不可以,

多方查找,得到答案,需要在适配器中 设置layoutparams设置高度,

代码如下


public class ServiceGridBaseAdapter extends BaseAdapter{


private Context mContext;
private List<StaffEntity> mList;
private StaffEntity entity;
 
public ServiceGridBaseAdapter() {
super();
}
 
public ServiceGridBaseAdapter(Context mContext, List<StaffEntity> mList ) {
super();
this.mContext = mContext;
this.mList = mList;
}


@Override
public int getCount() {
// TODO Auto-generated method stub
return mList.size();
}


@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mList.get(position);
}


@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
entity = mList.get(position);
convertView = LayoutInflater.from(mContext).inflate(R.layout.item_staff_grid, null);
if(holder !=null){
holder = (ViewHolder) convertView.getTag();
} else {
holder = new ViewHolder();
holder.imageView = (ImageView)convertView.findViewById(R.id.item_service_photo);
holder.name = (TextView)convertView.findViewById(R.id.item_service_name);
holder.cell = (TextView)convertView.findViewById(R.id.item_service_cell);
   
AbsListView.LayoutParams params = new AbsListView.LayoutParams(
               android.view.ViewGroup.LayoutParams.FILL_PARENT, 306
               );
convertView.setLayoutParams(params);

    convertView.setTag(holder);
}
if(entity!=null){
holder.name.setText(entity.getName());
holder.cell.setText(entity.getTel());
// holder.imageView.setImageResource(Drawable.createFromPath(entity.getPhoto()));
}
  
return convertView;
}


class ViewHolder{

TextView name,cell;
        ImageView imageView;
}



}

  相关解决方案