Android 同时具有一列和两列的GridView

Android 同时具有一列和两列的GridView,android,list,listview,gridview,grid,Android,List,Listview,Gridview,Grid,我想为我的主菜单创建一个GridView,但它应该同时有一列和两列。我这是什么意思?第一行只有一个宽图标(实际上要按下的“are”是宽的),但第二行有两个图标。这是一张清晰的图片。解决办法是什么 本来,您无法使用gridview实现这一点,因为每行都有不同的列 但是,正如Adinia所建议的,您可以通过使用Gridview或List视图来实现相同的效果,而不是更改列数,而是更改单元格中呈现的内容 您必须创建自己的适配器,例如,您可以扩展SimpleCursorAdapter,当您这样做时,您可以

我想为我的主菜单创建一个GridView,但它应该同时有一列和两列。我这是什么意思?第一行只有一个宽图标(实际上要按下的“are”是宽的),但第二行有两个图标。这是一张清晰的图片。解决办法是什么


本来,您无法使用gridview实现这一点,因为每行都有不同的列

但是,正如Adinia所建议的,您可以通过使用Gridview或List视图来实现相同的效果,而不是更改列数,而是更改单元格中呈现的内容

您必须创建自己的适配器,例如,您可以扩展SimpleCursorAdapter,当您这样做时,您可以覆盖getView()方法

其中R.layout.onebutton和twobutton是定义了一个或两个按钮的xml布局


但是,如果您没有图像中显示的内容(即两行),那么您根本不需要gridview,可以使用相对、线性或表格布局。

如果您的主菜单如图所示,我看不出有任何理由使用gridview(使用ListAdapter以二维、可滚动的网格显示项目),但一个简单的LiniarLayouts或RelativeLayouts组合就可以了。
public class YouCustomAdapter extends SimpleCursorAdapter

    public View getView(int position, View convertView, ViewGroup parent) {
        if (showOneButton)
        {
            convertView = inflater.inflate(R.layout.onebutton, parent, false);
        }else{
            convertView = inflater.inflate(R.layout.twobutton, parent, false);
        }
    }

etc.