GridView动态计算高度

// 动态加载GridView 高度
public static void setListViewHeightBasedOnChildren(MyGridView myGridView) {
ListAdapter listAdapter = myGridView.getAdapter();
if (listAdapter == null) {
return;
}
int col = 5;
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i += col) {
View listItem = listAdapter.getView(i, null, myGridView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = myGridView.getLayoutParams();
params.height = totalHeight;
((MarginLayoutParams) params).setMargins(10, 10, 10, 10);
myGridView.setLayoutParams(params);
}

时间: 2024-10-15 05:08:11

GridView动态计算高度的相关文章

GridView 动态修改Item的LayoutParam导致Item的OnClickListener失效

GridView 动态修改Item的LayoutParam导致Item的OnClickListener失效 项目中为了实现图片的数量以及大小(类似微信图片的单张图片显示,和多张图片显示的大小是不同的)的效果,采用GridView动态修改边界,以及动态修改ImageView的大小的方式.实现效果如下: 单图: 多图 到目前为止,没有遇到什么问题,可是,之后就遇到一个问题,就是在ImageView上设置OnClickListener,第0张图片无法点击的问题. 追踪源码,发现一直运行到: 这个函数的

GridView动态添加新行

gridview动态添加行的原理就是用datatable增加新列然后重新绑定: 设计源码 设计gridview代码: <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:TextBox ID="TextBox2&qu

GridView动态添加列并判断绑定数据DataTable的列类型控制展示内容

此篇随笔是2013年根据项目需求开发记录的,不一定符合大众口味,只需了解开发思路,毕竟解决方案多种多样. 下面简单说说需求点吧: (1)通过下拉列表可以选择一个DataSet(数据集),一个DataSet存在可以互相关联的多个DataTable(数据表格),DataTable数据来源于数据库视图:SQL语句关联比较复杂 (2)一个DataTable(数据表格)存在多个可供选择查询显示的Column(列),支持动态组合 (3)Column(列)同时支持作为查询条件进行并运算 先看效果吧,免得待会看

GridView动态设置Item的宽高 第一个Item不显示的问题

在viewpaper中添加了一个Gridview,每个viewpaper要正好铺满显示3X2个,由于girdview是纵向可扩展的,所以我需要动态设置Gridview中item的高度,来确认铺满. 遇到的问题:Gridview中第一个item不显示 动态设置Item的高度只需要在adapter的getView方法中 使用parent的宽高进行重新计算就行了 废话不多说,直接上代码 <pre name="code" class="java">@Overri

GridView 动态列上方添加相应的Combox等控件

Dev中的Gridview控件添加简单的动态列并不复杂,但是有时候需要在在动态列上添加对应的Combox 1 gvList.BeginUpdate(); 2 if (gcList.DataSource != null) 3 { 4 (gcList.DataSource as DataTable).Clear(); 5 } 6 gvList.Columns.Clear(); 7 8 //DataTable 形式绑定数据源 9 DataTable dt = new DataTable(); 10 d

【Android疑难杂症】GridView动态设置Item的宽高导致第一个Item不响应或显示不正常的问题

前言 这个问题在之前做一个盒子项目时遇到过,最近又遇到了,使用GridView遇到的非常奇葩的问题,这里记录分享一下. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.问题 1.1 先看问题代码: @Override    public View getView(int position, View convertView, ViewGroup parent) {     

解决GridView动态设置宽高导致第一个item点击不响应或显示不正常问题

最近做项目的时候遇到了2次这个问题,现在分享一下经验 一.问题 问题代码: </pre><p><pre name="code" class="java">@Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub final ViewHolder holder

GridView动态添加View

activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="ma

gridview动态添加行(不用datatable实现)

GridViewRow newrow = new GridViewRow(0, 0, DataControlRowType.Separator, DataControlRowState.Normal); TableCell[] tc=new TableCell[5]; for (int i = 0; i < 5; i++) { tc[i] = new TableCell(); } tc[0].Text = (GridView1.Rows.Count + 1).ToString(); tc[1].