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?
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.
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.
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);
}
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);
You can read more
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With