2012-09-25 183 views
7

我正在做一個任務,它從服務器中檢索圖像並在應用程序的GridView中顯示。這個網格視圖是向上和向下滾動的。但是,當菜單屏幕滾動時,我想從左向右滾動此視圖。 網格視圖有可能嗎?還是有更好的方法來做到這一點?請幫助我這樣做。Android柵格視圖水平滾動

在此先感謝。

+0

參見http://stackoverflow.com/questions/5418775/horizo​​ntal-scrolling-in-android-gridview。我還沒有找到讓GridView水平滾動的方法,似乎有一種解決方案是切換到Gallery,但只有一行。 –

回答

-3

嘗試用下面的佈局

<HorizontalScrollView android="http://schemas.android.com/apk/res/android" 
     android:layout_width="wrap_content" android:layout_height="wrap_content"> 
     <GridView android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:id="@+id/gridview" android:columnWidth="50dp" android:padding="10dp" 
      android:horizontalSpacing="8dp" android:verticalSpacing="12dp" 
      android:numColumns="3" android:scrollbars="horizontal"/> 
    </HorizontalScrollView> 
3

有沒有什麼更好的方法來做到這一點?

是的,有。

可以在3行使用RecyclerView與水平GridLayoutManager實現這一點:

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.rec1); 
recyclerView.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.HORIZONTAL, false)); 
recyclerView.setAdapter(new CustomAdapter(arrayList)); 

RecyclerView支持與SDK 7或更大的構建的應用程序。

如果您想使其更容易,請參閱HorizontalGridView類,如果您正在使用爲API 17或更高版本構建的應用程序。


Here's a link一個簡單的RecyclerView適配器的例子。

+1

當numbersOfRow = 1工作時,我使用了Horizo​​ntalGridView,但numbersOfRow> = 2時,垂直方向將不受控制。我無法找到任何設置垂直方向邊緣距離的方法,'setVerticalMargin(int margin)'可以垂直設置兩個子項之間的邊距(以像素爲單位)。 – Armysir