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;

}

}

时间: 2024-08-01 19:29:46

android GridView网格布局,高度问题的相关文章

android之网格布局和线性布局实现注册页面

(注意:1.再用weight的时候,各个组件要设置宽度为0dp,高度也要设置,2.即使没有设置weight,再用linear布局时,比如view和button都要设置宽度高度.3.如果出现运行错误,可以先检查哪个组件没设置高度) :values/strings.xml <?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name"&g

android之网格布局GridLayout

TableLayout(网格布局) 需要注意的: 网格布局需要最低版本支持:API 14 也就是最低andriod4.0 :layout/activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="ma

Android train--GridLayout网格布局

--------------------------------------------------------------------- Android GridLayout 怎么让4个TextView均匀填充布局界面 android:layout_rowWeightandroid:layout_rowWeight应该可以达到你想要的效果,不过他们只有在新版本api里才被支持.最后我的解决办法是使用tablelayout,它继承自LinearLayout,可以直接使用layout_weight

Android RecyclerView网格布局

一个简单的网格布局activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk

从零开始学android&lt;GridView网格视图.二十八.&gt;

GridView组件是以网格的形式显示所有的组件,例如:在制作相册的时候,所有的图片都会以相同大小显示在不同的格子之中,就可以依靠此组件完成,此组件的继承结构如下所示: java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.AdapterView<T extends android.widget.Adapter> ? android.widget.AbsListView ? android.

Android组件式开发(2)——实现网格布局的RadioButton矩阵

** 前言 ** 在Android中,我们一般通过RadioGroup来管理一组RadioButton 来达到 单选按钮的互斥效果.但是,有些需求中,需要完成N行N列这样的RadioButton组成的矩阵,但是我们的RadioGroup是一个耿直的LinearLayout,无法完成网格布局╮(╯▽╰)╭.所以,下面我就像大家来介绍一种实现网格布局的RadioButton的思路. 无图无真相, 先上一下效果图~ ** 思路 ** 提到网格布局,最简单的就是使用系统的GridView来实现,我们需要

Android UI之GridLayout(网格布局)

说明:网格布局是4.0之后添加的布局,跟TableLayout有点像,但更加好用,它把容器分为一个rows*columns的网格,每个网格都是一个组件位,可是通过设置让组件位占据多行/列. 与之相似地,还有一个叫做GridView的组件,无论功能和名称都很相似,不过GridView使用Adapter来填充组件位,GridLayout则要简化得多. 按照CSDN博主studyboyjlu4(博客地址:http://blog.csdn.net/studyboyjlu4)的看法,GridView和Gr

Android基础入门教程——2.4.9 GridView(网格视图)的基本使用

Android基础入门教程--2.4.9 GridView(网格视图)的基本使用 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家介绍的是第二个Adapter类的控件--GridView(网格视图),见名知义,ListView是列表, GridView就是显示网格!他和ListView一样是AbsListView的子类!很多东西和ListView都是相通的, 本节我们就来学习他的基本用法~ 1.相关属性: 下面是GridView中的一些属性: android:columnW

android学习——GridLayout网格布局

GridLayout网格布局 android4.0以上版本出现的GridLayout布局解决了以上问题.GridLayout布局使用虚细线将布局划分为行.列和单元格,也支持一个控件在行.列上都有交错排列.而GridLayout使用的其实是跟LinearLayout类似的API,只不过是修改了一下相关的标签而已,所以对于开发者来说,掌握GridLayout还是很容易的事情.GridLayout的布局策略简单分为以下三个部分: 首先它与LinearLayout布局一样,也分为水平和垂直两种方式,默认