[英]GridView height of row
How to make row height fit the tallest item in GridView? 如何使行高适合GridView中最高的项目? Because by default it's fail.
因为默认情况下它失败了。
update: here is layout with grid 更新:这里是网格布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<GridView
android:id="@+id/gird"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fadeScrollbars="false"
android:horizontalSpacing="5dip"
android:numColumns="3"
android:verticalSpacing="5dip" />
</LinearLayout>
this is layout of grid item 这是网格项的布局
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="@drawable/grid_item_background"
android:textColor="#000000" />
this is background drawable of grid item 这是网格项的背景绘制
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#F2DBA7"
android:startColor="#F2DBA7" />
<corners android:radius="7dip" />
<stroke android:width="3dip" android:color="#C90E0E"/>
<padding
android:bottom="5dip"
android:left="5dip"
android:right="5dip"
android:top="5dip" />
</shape>
this is source code of activity 这是活动的源代码
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.GridView;
public class GridActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView grid = (GridView) findViewById(R.id.gird);
ArrayAdapter<String> answeredWords = new ArrayAdapter<String>(this,
R.layout.grid_item);
grid.setAdapter(answeredWords);
answeredWords.add("123456789101234567891012345678910");
answeredWords.add("12345678910");
answeredWords.add("12345678910123456789101234567891012345678910");
answeredWords.add("12345678910");
answeredWords.add("12345678910123456789101234567891012345678910");
answeredWords.add("1234567891012345678910");
answeredWords.add("1234567891012345678910");
answeredWords.add("1234567891012345678910");
answeredWords.add("1234567891012345678910");
answeredWords.add("1234567891012345678910");
answeredWords.add("123456789101234567891012345678910");
answeredWords.add("123456789101234567891012345678910");
}
}
UPDATE: I rewrote the GridView, he find the maximum height of the element row and sets all the elements of this row the same height. 更新:我重写了GridView,他找到了元素行的最大高度,并将该行的所有元素设置为相同的高度。
如果您正在使用imageview作为gridview的单元格尝试设置iamgeview比例类型,请动态设置col高度
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.