Android 在LinearLayout中使用Gridview和按钮

Android 在LinearLayout中使用Gridview和按钮,android,android-layout,android-view,Android,Android Layout,Android View,我尝试在下面的代码中添加linearlayout中gridview下面的按钮。但当我执行我的应用程序时,我只看到gridview,没有按钮项。所以这可能是一个基本的错误,但我看不出来 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=

我尝试在下面的代码中添加linearlayout中gridview下面的按钮。但当我执行我的应用程序时,我只看到gridview,没有按钮项。所以这可能是一个基本的错误,但我看不出来

<?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="horizontal"
            android:background="#2a2a2a"
         >
            <GridView 
                    android:id="@+id/grid_view"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:columnWidth="150dp"
                    android:numColumns="auto_fit"
                    android:horizontalSpacing="10dp"
                    android:verticalSpacing="10dp"
                    android:stretchMode="columnWidth"
                    android:gravity="center"></GridView>
            <Button 
                    android:id="@+id/button1" 
                    android:layout_width="wrap_content" 
                    android:layout_height="50dp" 
                    android:text="@string/cam_string" />

    </LinearLayout>


线性布局的方向更改为
垂直布局
。我怀疑您没有看到按钮,因为GridView占据了所有水平空间,然后LinearLayout将按钮添加到屏幕之外不可见的位置。您还可能希望将GridView的
布局高度
更改为“0dip”,并为其赋予“android:layout\u weight=1”属性,以便它将填充除按钮占用的空间之外的所有空间。

除了其他人建议的解决方案之外,您可以使用相对布局尝试其他替代方案

为此,可以使用
RelativeLayout
,而不是线性布局

         <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:background="#2a2a2a" >

          <GridView 
                android:id="@+id/grid_view"
                android:layout_above="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:columnWidth="150dp"
                android:numColumns="auto_fit"
                android:horizontalSpacing="10dp"
                android:verticalSpacing="10dp"
                android:stretchMode="columnWidth"
                android:gravity="center"></GridView>
           <Button
               android:id="@+id/button1"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_alignParentBottom="true"
               android:layout_centerHorizontal="true"
               android:text="@string/cam_string" />

          </RelativeLayout>


谢谢,@Raghunandan它可以工作,但按钮在gridview层上移动;我不理解你的评论。