我正在学习 GridView。正如您从下面的屏幕截图中看到的那样,我添加了 13 个不同长度字符串的按钮作为它们的文本。无论长文本按钮相互重叠,我尝试过但无法修复它。我想要的是每一行都具有相同的最高元素高度,例如,第 1 行中的所有按钮都应该具有“lorem ipsum dolor sit amet”的高度,并且所有其他行都应该具有最长的元素高度。我怎样才能做到这一点?
如果不可能,或者我可以有以下内容:所有元素都在它们的大小,但是网格实际上不是一个矩形,它可以有以下方案:(实际上没有网格,它只是附加视图列在一起,而不考虑实际网格在哪里。
------------------------------------------------|
| | 2 | |
| 1 |---------------- 3 |
| | |----------------|
---------------| 5 | |
| 4 | | 6 |
|------------------------------|-----------------
我的网格视图:
<GridView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:gravity="fill_vertical"
android:numColumns="3"
>
</GridView>
扩展 BaseAdapter 的适配器类的 getView 方法:
public View getView(int position, View convertView, ViewGroup arg2) {
Button btn = null;
if (convertView == null) {
btn = new Button(mContext);
} else {
btn = (Button) convertView;
}
btn.setText(txts[position]);
return btn;
}
注意:我将有我的自定义视图,我只是用简单的按钮测试它。