gridview填充剩下的空间

时间:2023-01-05 15:49:05

设置不要在控间中滑动:

public class DeliverGridView  extends GridView {
public DeliverGridView(Context context, AttributeSet attrs) {
super(context, attrs);
} public DeliverGridView(Context context) {
super(context);
} public DeliverGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
} @Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec);
} }

布局文件:

    <com.andruby.cigarette.views.DeliverGridView
android:id="@+id/cighome_gridview"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:background="@color/grey"
android:cacheColorHint="#00000000"
android:horizontalSpacing="1.0dip"
android:listSelector="@null"
android:numColumns="3" android:scrollbars="none"
android:stretchMode="columnWidth"
android:verticalSpacing="1.0dip" android:layout_weight="2"/>

设置gv占整个界面的权重:(一个5一个2总7)

    DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
// 屏幕宽度(像素)
int win_height = metric.heightPixels;
int height = win_height*2/7;

在adapter的getView()中:

if (convertView == null) {
convertView = LayoutInflater.from(ac).inflate(
R.layout.grid_item, null); AbsListView.LayoutParams param = new AbsListView.LayoutParams(
android.view.ViewGroup.LayoutParams.FILL_PARENT,
height /2); //height是传过来的 convertView.setLayoutParams(param);
holder = new ViewHolder(); convertView.setTag(holder); holder.tv_share_item_title = (TextView) convertView
.findViewById(R.id.tv_share_item_title);
holder.tv_share_item_set = (ImageView) convertView
.findViewById(R.id.tv_share_item_set);
holder.lin_share_item = (LinearLayout) convertView
.findViewById(R.id.lin_share_item); } else {
holder = (ViewHolder) convertView.getTag();
}

gridview填充剩下的空间的更多相关文章

  1. Qt QLabel 大小随内容自动变化 &amp&semi;&amp&semi; 内容填充整个label空间

    图1:label的本身大小 图2:给label设置文字,不做任何别的设置 ui->label->setText(QObject::tr("current font is %1&q ...

  2. video视频内容填充整个播放空间方法

    关于video视频内容填充整个播放空间方法一般上传的视频都没法占满video,看起来很不美观,解决办法很简单video{ object-fit:fill;}

  3. VC中出现&OpenCurlyDoubleQuote;烫”和&OpenCurlyDoubleQuote;屯”的原因(栈区的每一个字节都被0xCC填充了,也就是int 3h的机器码,动态分配的堆,VC的Debug用0xCD填充堆的空间,就出现了&OpenCurlyDoubleQuote;屯”)

    相信经常用VC的朋友对屏幕输出的一大堆“烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫”不会陌生,但是也许会很奇怪,为什么会出现“烫”字呢?莫非改程序导致系统运行缓慢,发热过高???非也!下面让我解释 ...

  4. CStatic中保持图形比例不变,尽量填充控件空间的代码

    CStatic中保持图形比例不变,尽量填充控件空间的代码 先获取控件的高.宽,然后获取图像的高.宽,测试需要调整高还是调整宽 void CImagePreviewStatic::DrawItem(LP ...

  5. &lbrack;Winform&rsqb; DataGridView 总结&lpar;FAQ&rpar;

    Q1.  如何使单元格不可编辑? A:设置 ReadOnly 属性,可以设置的对象包括 DataGridViewRow(行).DataGridViewColumn(列).DataGridViewCel ...

  6. 操作系统开发系列—1&period;HelloWorld ●

    org 07c00h ;伪指令,告诉编译器程序会被加载到7c00处 mov ax, cs mov ds, ax mov es, ax call DispStr ;调用显示字符串例程 jmp $ ;无限 ...

  7. WPF自学笔记

    WPF使用哪几种元素作为*元素: 1. Window元素 2. Page元素(与Window元素类似,用于可导航的应用程序) 3. Application元素(定义应用程序资源和启动设置) PS:在 ...

  8. 《Orange&OpenCurlyQuote;s》 Bochs环境配置

    安装配置bochs之前先写一个简单的引导扇区用来测试: org 07c00h mov ax,cs mov ds,ax mov es,ax call DispStr jmp $ DispStr: mov ...

  9. 多种方法实现左右固定,中间自适应的CSS布局

    布局是面试中常问的问题,尤其是这类的题目,怎么答才好呢? 大多数人的第一个方法是浮动,没错,浮动.第二个方法呢?你回答定位,没错.第三个方法呢?.... 第四个方法呢?第五个方法呢?.... 其实能想 ...

随机推荐

  1. 浅析Dagger2的使用

    什么是Dagger2 Dagger是为Android和Java平台提供的一个完全静态的,在编译时进行依赖注入的框架,原来是由Square公司维护,现在由Google维护. 我们知道Dagger是一个依 ...

  2. Spring定时器的时间表达式

    字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN- ...

  3. &lbrack;转&rsqb;服务器自动化操作 RunDeck

    From : http://www.oschina.net/p/rundeck/similar_projects?sort=view&lang=25 RunDeck 是用 Java/Grail ...

  4. Android 编程下的 Secret Code

    我们很多人应该都做过这样的操作,打开拨号键盘输入 *#*#4636#*#* 等字符就会弹出一个界面显示手机相关的一些信息,这个功能在 Android 中被称为 Android Secret Code, ...

  5. Scala分号推断

    看这样段代码,Scala会把它当作两个语句,x 和 +y,如果想把它作为一个语句,可以把它们放在括号里(x+y) x +y 或者也可以把 + 放在行末,也正因为此,串接类似于 + 这样的中缀操作符的时 ...

  6. JVM内部原理

    这篇文章详细描述了Java虚拟机的内在结构.下面这张图来自<The Java Virtual Machine Specification Java SE 7 Edition>,它展示了一个 ...

  7. UE4成批处理透明材质

    项目中需要控制成批的物体的透明度,但是默认的时候他又不能是透明的,对,项目的要求就这么诡异. 然而却没有找到设置材质的BlendMode的功能,于是只有换了一种办法,物体需要透明时更换为透明材质,默认 ...

  8. Linux&lpar;CentOS&rpar;用户修改密码有效期(chage命令)

    Linux设置用户密码的有效期限 解决: 先查看密码过期时间,现在是90天 1 2 3 4 5 6 7 8 [root@01 ~]# chage -l testuser Last password c ...

  9. &lbrack;C&num;&rsqb;GetFloat提示&quot&semi;指定的转换无效&quot&semi;

    数据库中没有double型,float就表示double值.sql server数据库字段类型与.net的数据类型的对应关系: real(数据库)<--> float(.NET)float ...

  10. vue &plus; vue-router&plus;vuex&plus;elementUI开发环境搭建

    先在npm中安装vue脚手架, //先安装国内镜像源 npm install -g cnpm --registry=https://registry.npm.taobao.org //安装vue cn ...