3

我尝试在以下代码中的线性布局中的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>
4

2 回答 2

6

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

于 2013-06-20T17:18:34.510 回答
2

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

您可以RelativeLayout为此目的使用 a 而不是 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>
于 2013-06-20T17:23:40.517 回答