2011-09-29 24 views
3

我想要的是讓gridview填充整個屏幕。當你向下滾動時,最後會出現一個帶2個按鈕的佈局。我一直在閱讀,並不知道如何得到它。我可以修復它在屏幕的頂部和底部(通過gridview)。當gridview被填充時,甚至會出現按鈕不會顯示的佈局。Android:gridview底部的佈局(在它的結尾)

我一直玩重量,對齊等,但無法找到什麼是錯的。繼承人的XML:下面的GridView

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/fondo"> 
    <GridView android:layout_width="fill_parent" 
     android:id="@+id/gridView1" 
     android:layout_height="wrap_content" 
     android:numColumns="2" 
     android:listSelector="#00000000"> 
    </GridView> 
    <LinearLayout android:id="@+id/linearLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="50dp" 
     android:orientation="horizontal" 
     android:layout_below="@id/gridView1"> 
     <ImageView android:id="@+id/botonAtras" 
      android:layout_width="wrap_content" 
     android:layout_height="50dp" 
     android:layout_weight="1" 
     android:onClick="onBotonAtrasClick"> 
    </ImageView> 
    <ImageView android:id="@+id/botonAdelante" 
     android:layout_width="wrap_content" 
     android:layout_height="50dp" 
     android:layout_weight="1" 
     android:onClick="onBotonAdelanteClick"> 
    </ImageView> 
    </LinearLayout> 
</RelativeLayout> 
+0

查看類似的問題:http://stackoverflow.com/questions/8876596/need-to-create-footer-for-gridview-in-android。不同的是,另一個問題是關於一個按鈕,這是關於佈局。 –

回答

-1

集的LinearLayout設置的android:layout_below: 「@ + ID/GridView的」 內部ID/LinearLayout中

+1

我一直在玩這個,並找不到如何去做。我唯一能做的就是讓它出現在屏幕的底部。但不是在gridview下面。 – Duqe

+0

嘗試了它,但是一旦GridView有足夠的元素填充屏幕,GridView就會「吞併」底部佈局。 –

-1

我解決這個問題是這樣的:

<LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:fillViewport="true" > 
     <GridView 
      android:id="@+id/myGrid" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:columnWidth="60dp" 
      android:gravity="center" 
      android:horizontalSpacing="10dp" 
      android:numColumns="3" 
      android:padding="10dp" 
      android:stretchMode="columnWidth" 
      android:verticalSpacing="10dp" /> 
    </LinearLayout> 

    <Button 
     android:id="@+id/bacth_button" 
     android:layout_width="fill_parent" 
     android:layout_height="50dip" 
     android:layout_alignParentBottom="true" 
     android:layout_marginLeft="2dip" 
     android:layout_marginRight="2dip" 
     android:layout_marginTop="2dip" 
     android:text="Uninstall Selected Apps" 
     android:textColor="#000000" 
     android:textSize="16dip" 
     android:textStyle="bold" /> 
</LinearLayout> 

在linearlayout中包含GridView,然後我按你的喜好工作。

1

據我可以告訴你不能輕易做到這一點。你可以用一個普通的ListView使用addFooter()來完成,但是遺憾的是GridView沒有這個方法。你也不能實現你自己的GridView,因爲它使用了很多私有API。

然而,這裏使用的是可能的工作一個可怕的黑客:Android Pull to refresh

顯然,它使用包含標題視圖LinearLayoutListView和移動他們。 (根據this page。)正如那個人所說,很多工作都是爲了一個可怕的黑客入侵。

我能想到的唯一方法就是放棄GridView並使用ListView,其中每一行都是水平的LinearLayout。儘管如此,仍然非常黑客。