2010-09-08 72 views
2

我想將現有的iPhone應用程序移植到Android。我希望有一個按鈕滾動到GridView底部的視圖中,以使用戶能夠從服務器加載更多的數據。目前,我的解決方案只是修復屏幕底部的按鈕,而不是將其滾動到視圖中。獲取按鈕滾動到Android上的GridView的底部視圖

這裏是我的佈局代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"  
     > 
     <GridView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/grid" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:columnWidth="70dp" 
      android:numColumns="auto_fit" 
      android:verticalSpacing="0dp" 
      android:horizontalSpacing="0dp" 
      android:stretchMode="columnWidth" 
      android:gravity="center" 
      android:background="#000000" 
     /> 
     <Button 
     android:id="@+id/load_more" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Load More" 
     /> 
    </LinearLayout> 

屏幕將無法正常工作的下固定的按鈕,因爲我計劃刊登廣告在底部。

任何人都可以任意解釋概念如何獲得負載更多的按鈕,滾動到視圖,或點我一些示例代碼,或者告訴我這是爲什麼不地道的Android和它所使用的其他UI約定,以裝載更多數據在一個GridView?

謝謝!

+0

見類似的帖子:我用下面的代碼片段

gvKeys.setSelection(0); 

我猜,如果你知道你的網格項目的數量,ñ,那下面的工作解決了它:http://stackoverflow.com/questions/8876596/need-to-create-footer-for-gridview-in-android – 2012-10-31 12:21:21

回答

0

您可以在主LinearLayout中放置一個ScrollView。但是,ScrollView只能有一個直接子元素,因此您需要將另一個LinearLayout放入其中,然後包含您的GridView和Button。

+0

這幾乎工作....不幸的是,GridView沒有正確調整自己在ScrollView/LinearLayout內。看起來,GridView只知道如何將自己的大小放到屏幕上,從而裁剪出不適合的其他行。 wrap_content的layout_height不會強制GridView根據實際需要的垂直空間大小自行調整大小。對此有何想法?我可以告訴GridView根據編程需要調整自己的高度嗎? – esilver 2010-09-10 02:42:10

+1

@esilver:您是否解決了上漿問題?我有同樣的問題 – Noah 2011-03-09 14:10:20

+0

@noah nope,我沒有成功。我猜你正在嘗試複製某種iOS網格設計(我是)。在iOS網格的底部,我有一個「加載更多」按鈕。在機器人上,我只需在菜單中放置「加載更多」按鈕。我也有代碼,可以檢測網格何時滾動到底部並自動加載。 – esilver 2011-03-09 17:21:30

0

我有一個類似的問題滾動一個GridView和刷新底層數據後,注意到scoll沒有重置到開始。

gvKeys.setSelection(N);