Introduction

In this article, you will learn how to make a simple gallery in Android. The main purpose will be to display all available images as a scrollable list and show the selected image in a larger view.
Step 1
Add 7 seven images in drawable. Copy the images you want to use, to clipboard and past them in drawable. Name of jpg images used by me are: im1, im2, im3, im4, im5, im6, im7.
Step 2
Open "activity_main" and add the following code to it:
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="match_parent"
  3. android:layout_height="match_parent"
  4. android:background="@android:color/white"
  5. android:orientation="vertical" >
  6. <ImageView
  7. android:id="@+id/selected"
  8. android:layout_width="fill_parent"
  9. android:layout_height="fill_parent"
  10. android:layout_above="@+id/gallery_relative_layout"
  11. android:layout_marginLeft="30dip"
  12. android:layout_marginRight="30dip"
  13. android:layout_marginTop="30dip"
  14. />
  15. <View
  16. android:layout_width="match_parent"
  17. android:layout_height="1dp"
  18. android:background="#000000"
  19. android:layout_marginTop="300dp"
  20. android:layout_above="@+id/gallery_relative_layout"
  21. />
  22. <RelativeLayout
  23. android:id="@+id/gallery_relative_layout"
  24. android:layout_width="fill_parent"
  25. android:layout_height="200dip"
  26. android:layout_alignParentBottom="true"
  27. android:orientation="horizontal"
  28. android:paddingTop="20dp">
  29. <HorizontalScrollView
  30. android:id="@+id/hor_scroll_view"
  31. android:layout_width="match_parent"
  32. android:layout_height="wrap_content"
  33. >
  34. <LinearLayout
  35. android:id="@+id/gallery"
  36. android:layout_width="wrap_content"
  37. android:layout_height="wrap_content"
  38. android:orientation="horizontal" >
  39. <ImageView
  40. android:id="@+id/image1"
  41. android:layout_width="wrap_content"
  42. android:layout_height="wrap_content"
  43. android:src="@drawable/im1"
  44. android:onClick="biggerView"/>
  45. <ImageView
  46. android:id="@+id/image2"
  47. android:layout_width="wrap_content"
  48. android:layout_height="wrap_content"
  49. android:src="@drawable/im2"
  50. android:onClick="biggerView"/>
  51. <ImageView
  52. android:id="@+id/image3"
  53. android:layout_width="wrap_content"
  54. android:layout_height="wrap_content"
  55. android:src="@drawable/im3"
  56. android:onClick="biggerView"/>
  57. <ImageView
  58. android:id="@+id/image4"
  59. android:layout_width="wrap_content"
  60. android:layout_height="wrap_content"
  61. android:src="@drawable/im4"
  62. android:onClick="biggerView"/>
  63. <ImageView
  64. android:id="@+id/image5"
  65. android:layout_width="wrap_content"
  66. android:layout_height="wrap_content"
  67. android:src="@drawable/im5"
  68. android:onClick="biggerView"/>
  69. <ImageView
  70. android:id="@+id/image6"
  71. android:layout_width="wrap_content"
  72. android:layout_height="wrap_content"
  73. android:src="@drawable/im6"
  74. android:onClick="biggerView"/>
  75. <ImageView
  76. android:id="@+id/image7"
  77. android:layout_width="wrap_content"
  78. android:layout_height="wrap_content"
  79. android:src="@drawable/im7"
  80. android:onClick="biggerView"/>
  81. </LinearLayout>
  82. </HorizontalScrollView>
  83. </RelativeLayout>
  84. </RelativeLayout>
The View has been added to show a horizontal separator between the big image and ScrollView.
The layout looks like:
im1.jpg
Step 3
Open "MainActivity" and add the following code to it:
  1. package com.chhavi.gallerytest;
  2. import android.os.Bundle;
  3. import android.app.Activity;
  4. import android.util.Log;
  5. import android.view.Menu;
  6. import android.view.View;
  7. import android.widget.ImageView;
  8. public class MainActivity extends Activity {
  9. ImageView im;
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_main);
  14. }
  15. public void biggerView(View v)
  16. {
  17. im=(ImageView)findViewById(R.id.selected);
  18. switch (v.getId())
  19. {
  20. case R.id.image1: im.setImageResource(R.drawable.im1);
  21. break;
  22. case R.id.image2: im.setImageResource(R.drawable.im2);
  23. break;
  24. case R.id.image3: im.setImageResource(R.drawable.im3);
  25. break;
  26. case R.id.image4: im.setImageResource(R.drawable.im4);
  27. break;
  28. case R.id.image5: im.setImageResource(R.drawable.im5);
  29. break;
  30. case R.id.image6: im.setImageResource(R.drawable.im6);
  31. break;
  32. case R.id.image7: im.setImageResource(R.drawable.im7);
  33. break;
  34. }
  35. }
  36. @Override
  37. public boolean onCreateOptionsMenu(Menu menu) {
  38. // Inflate the menu; this adds items to the action bar if it is present.
  39. getMenuInflater().inflate(R.menu.main, menu);
  40. return true;
  41. }
  42. }
Output snapshots:
Initial view:
im2.jpg
You can scroll to view the images that are not visible.
im3.jpg
Clicking on the first image will give you:
im4.jpg
Clicking the next image:
im5.jpg
Clicking the next image:
im6.jpg
and so on...
Thank you..... Enjoy coding :)