在LinearLayout中使用Gridview和Button

时间:2013-06-20 17:12:33

标签: 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="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>

2 个答案:

答案 0 :(得分:6)

LinearLayout的方向更改为vertical。我怀疑你没有看到Button,因为GridView占用了所有水平空间,然后LinearLayout将Button添加到屏幕上不可见的位置。您还可能希望将GridView的layout_height更改为“0dip”并为其指定`android:layout_weight = 1'属性,以便它将填充除Button所占用的所有空间。

答案 1 :(得分:2)

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

您可以使用RelativeLayout代替LinearLayout。

         <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>