Android 如何设置GridView或GridLayout以填充屏幕的高度并强制所有行的高度相等

Android 如何设置GridView或GridLayout以填充屏幕的高度并强制所有行的高度相等,android,android-layout,android-gridview,Android,Android Layout,Android Gridview,我有一些视图必须放在4 x 6的网格中。每个视图应具有相同的宽度w和高度h,并填充屏幕。我想要的是使用GridLayout或GridView来绘制这些 我知道我可以在GridView中使用stretchMode=“columnWidth”,它为每个子项设置相等的宽度。我还希望它设置相同的高度和垂直填充屏幕 我可以通过使用GridView或GridLayout实现这一点吗?在切换到LinearLayouts和使用权重之前,我正在寻找GridView,因为我有自定义视图作为网格项,我希望使用适配器而

我有一些视图必须放在4 x 6的网格中。每个视图应具有相同的宽度w和高度h,并填充屏幕。我想要的是使用GridLayout或GridView来绘制这些

我知道我可以在GridView中使用stretchMode=“columnWidth”,它为每个子项设置相等的宽度。我还希望它设置相同的高度和垂直填充屏幕


我可以通过使用GridView或GridLayout实现这一点吗?在切换到LinearLayouts和使用权重之前,我正在寻找GridView,因为我有自定义视图作为网格项,我希望使用适配器而不是为每个元素编码。

您仍然可以将
适配器
LinearLayouts
表格布局一起使用,您只需以编程方式添加视图,然后自己调用getView()方法
GridView
更适用于动态数量的项目,并处理自己的滚动

这可以在onCreateView()中使用类似的方法或其他方法来完成:

mAdapter = new FooAdapter();
mList = (LinearLayout) v.findViewById(R.id.list);
for(int i = 0; i< mAdapter.getCount(); i++){
    View child = mAdapter.getView(i, null, mList);
    mList.addView(child);
}
mAdapter=newfooadapter();
mList=(线性布局)v.findViewById(R.id.list);
对于(int i=0;i

如果您可能只是更改数据,将旧视图作为ConvertView传递可能会加快速度。

我做了一个自定义布局,扩展了线性布局。我发现对我来说,这是一个更好的方法,我可以更好地控制布局上的所有触摸事件和子对象本身。

你能发布你的代码吗?我认为让所有子对象直到根对象到网格元素填充\u父对象/父对象应该对你有用……我不明白你的意思“使所有子根到网格元素填充父/父”“您能否解释或展示一些关于如何在LinearLayout/TableLayout中使用适配器的参考资料?我知道如何在LinearLayout中使用GridView和ListView。我特别要求我需要一个解决方案,在网格中有固定数量的行,并使thm填充屏幕,每行的高度相等,并且仍然使用适配器。在你的解决方案中,我看不到有任何能做到这一点的东西。感谢您的帮助。
layout\u weight
属性将为您提供帮助。这个解决方案既不涉及GridView也不涉及ListView。你能在这里通过你的自定义布局吗?我有同样的问题。