当前位置:首页 > Android

GridView中item高度自适应

jsc10年前 (2016-04-01)Android4488

item高度自适应

public class MyAdapter extends BaseAdapter {

        GridView mGv;   
    public static int ROW_NUMBER = 5;

    public MyAdapter (GridView gv, Context mContext, ArrayList<String> list) {
        this.context = mContext;
        this.mGv = gv;
        lstDate = list;
    }

       @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        convertView = LayoutInflater.from(context).inflate(R.layout.item, null);
        //高度计算
        AbsListView.LayoutParams param = new AbsListView.LayoutParams(
                android.view.ViewGroup.LayoutParams.FILL_PARENT,
                mGv.getHeight()/ROW_NUMBER);
        convertView.setLayoutParams(param);

        return convertView;
    }

关键点  通过获取GridView 的高度来计算每个item的高度。缺点:个人认为,实际上GridView 重绘了一遍(数据量大时影响性能),第一遍的时候GridView高度为0,item也为0,求证!!  如果设置了ViewHolder 会使第一个item缺失。

 mGv.getHeight()/ROW_NUMBER


扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://jsc0.com/post/57.html

分享给朋友:

“GridView中item高度自适应” 的相关文章

TypedArray和obtainStyledAttributes使用

TypedArray和obtainStyledAttributes使用

在编写Android自定义按钮示例基础上,如果要指定字体大小产生这样的效果: 其实是不需要自定义变量的,可以直接使用......…

android异步任务详解 AsynTask

android异步任务详解 AsynTask

android提供了一套专门用于异步处理的类。即:AynsTask类。使用这个类可以为耗时程序开辟一个新线程进行处理,处理完时返回。其实,AsynTask类就是对Thread类的一个封装,并且加入了一些新的方法。编程时,两者都可以实现同样的功能。本文后面将对AsynTask和Thread进行比较。1…

Android中Parcelable接口用法

1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelabl…

创建Popwindow弹出菜单的两种方式

创建Popwindow弹出菜单的两种方式

方法一的Activity package com.app.test02; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.Mo…

Android ImageView的scaleType属性与adjustViewBounds属性

Android ImageView的scaleType属性与adjustViewBounds属性

ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY android:scaleType…

android上传图片至服务器

本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码publicvoid doPost(HttpServletRequest request, HttpServletResponse response)&…