Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Horizontal scrolling image gallery

I'd like to create app with horizontal image gallery (with one row and multiple columns). First i try to use gridview, but it can be used as vertical scroll only. Can i use ListView or GridView for that purposes?

Image gallery with horizontal scrolling

like image 256
Yuriy Kolbasinskiy Avatar asked Apr 03 '15 09:04

Yuriy Kolbasinskiy


People also ask

How do you scroll through pictures on android?

Another way is to create a HorizontalScrollView , add the imageView into it and then add the HorizontalScrollView into a ScrollView . This allows you to scroll up, down, left, right.

Can scroll horizontally Android?

HorizontalScrollView is used to scroll the child elements or views in a horizontal direction. HorizontalScrollView only supports horizontal scrolling. For vertical scroll, android uses ScrollView.


2 Answers

create LinearLayout inside HorizontalScrollView,then create an imageView dynamically and add that imageview to linearLayout.

Example code:

<HorizontalScrollView 
android:id="@+id/horizontal_scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

    <LinearLayout
    android:id="@+id/linear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    </LinearLayout>

</HorizontalScrollView>

In onCreate() method,get the id of linearLayout from the xml file and add dynamically created ImageView to linearlayout:

    LinearLayout layout = (LinearLayout) findViewById(R.id.linear);
    for (int i = 0; i < 10; i++) {
        ImageView imageView = new ImageView(this);
        imageView.setId(i);
        imageView.setPadding(2, 2, 2, 2);
        imageView.setImageBitmap(BitmapFactory.decodeResource(
                getResources(), R.drawable.ic_launcher));
        imageView.setScaleType(ScaleType.FIT_XY);
        layout.addView(imageView);
    }
like image 149
Saritha Avatar answered Sep 27 '22 17:09

Saritha


See a working demo from here

With the release of RecyclerView library, you can easily implement both horizontal and vertical list orientation. This is made possible by use of the LinearLayoutManager for which you can specify the orientation either horizontal or vertical as shown below ...

 LinearLayoutManager horizontalLayoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.HORIZONTAL, false);

enter image description here

You can read more

like image 37
Daniel Nyamasyo Avatar answered Sep 27 '22 18:09

Daniel Nyamasyo