Android 主菜单使用GridView占据整个屏幕

Android 主菜单使用GridView占据整个屏幕,android,android-layout,android-gridview,Android,Android Layout,Android Gridview,我想我的主菜单是一个图标网格视图-6个图标是具体的 当手机处于纵向布局时,我希望它们在2列中,当手机处于横向布局时-3列-已经整理好了 我没有弄清楚的是如何让它们占据整个屏幕 适合屏幕宽度不是问题-适合屏幕高度使我绊倒 我希望它根据屏幕大小拉伸/收缩我的单元格。我曾尝试过计算屏幕高度并将其除以3,但存在某些问题,我认为这不是最优雅的解决方案 那么,基本上,我如何使用两列(3行)的gridview占据屏幕(比如纵向布局)?是否有任何xml属性可以帮助我 这是我的xml文件: <?xml ve

我想我的主菜单是一个图标网格视图-6个图标是具体的

当手机处于纵向布局时,我希望它们在2列中,当手机处于横向布局时-3列-已经整理好了

我没有弄清楚的是如何让它们占据整个屏幕

适合屏幕宽度不是问题-适合屏幕高度使我绊倒

我希望它根据屏幕大小拉伸/收缩我的单元格。我曾尝试过计算屏幕高度并将其除以3,但存在某些问题,我认为这不是最优雅的解决方案

那么,基本上,我如何使用两列(3行)的gridview占据屏幕(比如纵向布局)?是否有任何xml属性可以帮助我

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<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:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:numColumns="auto_fit"
    android:stretchMode="columnWidth"    
    android:gravity="center"
/>

我建议先用xml创建两个布局,然后在
onCreate
方法中,您可以重新调整行和列的大小

比如说

if layout is portrait
    set column width = screen width / 2

else if layout is landscape
    set column width = screen width / 3

我的问题的答案就在那里。基本上,我使用嵌套的
ListView
s

“我希望我的主菜单是一个图标的网格视图-具体来说是6个图标。”--为什么?为什么不使用嵌套的
LinearLayouts
,或
TableLayout
,在这里您可以进行更多的控制?或者,为什么不使用仪表板()?或者,为什么不完全转储“主菜单”,立即将用户带到您真正的活动之一,并使用操作栏项允许用户导航到其他活动?