wolverine
wolverine

Reputation: 1665

Android Grid View Scroll Horizontally

I am doing a task which retrieves images from server and displays in GridView in the application. This Grid view is scrolling up and down. But i want to scroll this view left to right as the menu screen scrolls. Is it possible with grid view? Or Is there any better way to do this? please help me in doing this.

thanks in advance.

Upvotes: 7

Views: 24005

Answers (3)

Evin1_
Evin1_

Reputation: 12866

Is there any better way to do this?

Yes, there is.

You can achieve this in 3 lines using a RecyclerView with a horizontal GridLayoutManager:

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

The RecyclerView supports applications built with the SDK 7 or larger.

If you want to make it even easier, take a look at the HorizontalGridView class if you are working with an application that is built for the API 17 or larger.


Here's a link of an example of a simple RecyclerView Adapter.

Upvotes: 4

Anton I. Sipos
Anton I. Sipos

Reputation: 3613

This isn't easily possible with the stock Android GridView. Try using this library: two-way-gridview

(I found this library in this other answer: Horizontal scrolling grid view)

Upvotes: 6

Harish
Harish

Reputation: 3117

Try with below 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>

Upvotes: -6

Related Questions