2012-09-25 10 views
7

Ich mache eine Aufgabe, die Bilder vom Server abruft und in GridView in der Anwendung angezeigt wird. In dieser Rasteransicht wird nach oben und unten gescrollt. Aber ich möchte diese Ansicht von links nach rechts scrollen, während der Menübildschirm scrollt. Ist es mit Rasteransicht möglich? Oder Gibt es einen besseren Weg, dies zu tun? Bitte hilf mir dabei.Android Grid View Scroll horizontal

danke im voraus.

+0

Siehe auch http://stackoverflow.com/questions/5418775/horizontal-scrolling-in-android-gridview. Ich habe keinen Weg gefunden, GridView horizontal scrollen zu lassen. Es scheint eine Lösung zu sein, zu einer Galerie zu wechseln, aber diese haben nur eine Zeile. –

Antwort

-3

Versuchen mit unter Layout

<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

Gibt es einen besseren Weg, dies zu tun?

Ja, gibt es.

Sie können dies eine RecyclerView mit einer horizontalen GridLayoutManager unter Verwendung der in 3 Zeilen erreichen:

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

Die RecyclerView unterstützt mit dem SDK 7 oder größer gebaut Anwendungen.

Wenn Sie es noch einfacher machen möchten, sehen Sie sich die Klasse HorizontalGridView an, wenn Sie mit einer Anwendung arbeiten, die für die API 17 oder höher ausgelegt ist.


Here's a link ein Beispiel eines einfachen RecyclerView Adapter.

+1

Ich habe die HorizontalGridView verwendet, wenn NumbersOfRow = 1 funktioniert, aber NumbersOfRow> = 2 die vertikale Richtung wird nicht kontrolliert. Ich kann keine Methode finden, um den Randabstand der vertikalen Ausrichtung festzulegen. 'SetVerticalMargin (int margin)' kann den Rand in Pixeln zwischen zwei untergeordneten Elementen nur vertikal einstellen. – Armysir