Skip to main content

Android - Simple Image Viewer

Operating System

In this tutorial we will try to create a Simple Image Viewer using Android. This simple app can use for viewing some images in a convenient way. Android is open source to developers who has an interest in developing mobile apps. It is available to any devices such as TV, phones, watches etc. So let's now do the coding.

Getting Started:

First you will have to download & install the Android Development IDE (Android Studio or Eclipse). Android Studio is an open source development feel free to develop your things.

Here's the link for the Android Studio

Layout Design

We will now create the design for the application, first to do is to create a resource that we will be using to display the image. To create a resource, go to drawable folder then import all the image that you will you use to this folder.

Now that we're done with the image resource, first locate the layout file called activity_main.xml, this is the default name when you create a new activity. Then write these codes inside your layout file.

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android=""
  3. xmlns:app=""
  4. xmlns:tools=""
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context="com.razormist.simpleimageviewer.MainActivity">
  9. <ImageView
  10. android:id="@+id/iv_display"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:layout_alignParentTop="true"
  14. android:scaleType="fitXY"
  15. app:srcCompat="@drawable/img1"
  16. android:layout_marginBottom="30dp"
  17. android:layout_above="@+id/btn_right" />
  19. android:id="@+id/btn_right"
  20. android:layout_width="wrap_content"
  21. android:layout_height="wrap_content"
  22. android:text="RIGHT"
  23. android:layout_marginRight="42dp"
  24. android:layout_marginEnd="42dp"
  25. android:layout_alignBaseline="@+id/btn_left"
  26. android:layout_alignBottom="@+id/btn_left"
  27. android:layout_alignParentRight="true"
  28. android:layout_alignParentEnd="true" />
  30. android:id="@+id/btn_left"
  31. android:layout_width="wrap_content"
  32. android:layout_height="wrap_content"
  33. android:layout_alignParentBottom="true"
  34. android:layout_alignParentLeft="true"
  35. android:layout_alignParentStart="true"
  36. android:layout_marginBottom="33dp"
  37. android:layout_marginLeft="43dp"
  38. android:layout_marginStart="43dp"
  39. android:text="LEFT" />
  43. </RelativeLayout>

Android Manifest File

The Android Manifest file provides essential information about your app to the Android system in which the system must required before running the code. It describe the overall information about the application. It contains some libraries that needed to access the several method within the app.

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android=""
  3. package="com.razormist.simpleimageviewer">
  5. <application
  6. android:allowBackup="true"
  7. android:icon="@mipmap/ic_launcher"
  8. android:label="@string/app_name"
  9. android:roundIcon="@mipmap/ic_launcher_round"
  10. android:supportsRtl="true"
  11. android:theme="@style/AppTheme">
  12. <activity android:name=".MainActivity"
  13. android:configChanges="orientation"
  14. android:screenOrientation="portrait">
  15. <intent-filter>
  16. <action android:name="android.intent.action.MAIN" />
  18. <category android:name="android.intent.category.LAUNCHER" />
  19. </intent-filter>
  20. </activity>
  21. </application>
  22. </manifest>

The Main Function

This code contains the main function of the application. This code will allow you to select image based on the button interaction. To start with first locate your MainActivity java file and open it, then write these some important variables inside the MainActivity class.

  1. private ImageView iv_display;
  2. private Button btn_right, btn_left;
  3. private int current_image_index;
  4. private int[] images = {R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img4, R.drawable.img5};

Then write these several method inside the activity class to make the apps work properly.

  1. void DisplayImage(){
  2. iv_display = (ImageView)findViewById(;
  3. }
  5. void SwitchButton(){
  6. btn_right = (Button)findViewById(;
  7. btn_left = (Button)findViewById(;
  8. btn_right.setOnClickListener(new View.OnClickListener() {
  9. @Override
  10. public void onClick(View v) {
  11. current_image_index++;
  12. current_image_index = current_image_index % images.length;
  13. iv_display.setImageResource(images[current_image_index]);
  14. }
  15. });
  17. btn_left.setOnClickListener(new View.OnClickListener() {
  18. @Override
  19. public void onClick(View v) {
  20. current_image_index--;
  22. if(current_image_index < 0){
  23. current_image_index = images.length - 1;
  24. }
  25. iv_display.setImageResource(images[current_image_index]);
  26. }
  27. });
  28. }

Finally, initialize all the methods inside the onCreate method to run the application.

  1. DisplayImage();
  2. SwitchButton()

Try to run the app and see if it worked.

There you have it we have created a Simple Image Viewer using Android. I hope that this tutorial help you to what you are looking for. For more updates and tutorials just kindly visit this site. Enjoy Coding!!!

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Add new comment

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.