Dark Mode
Image

Android Fragments

Android Service

Android AlarmManager

Camera Tutorial

Sensor Tutorial

Android Graphics

Android Animation

Android Web Service

Android MCQ

Android Quiz

Image Slider

Android image slider slides one entire screen to another screen. Image slider is created by ViewPager which is provided by support library. To implement image slider, you need to inherit ViewPager class which extends PagerAdapter.

Example of Image Slider

Let's see an example of android image slider.

activity_main.xml

In activity_main.xml file, we have wrapped ViewPager inside RelativeLayout.

File: activity_main.xml

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:paddingBottom="@dimen/activity_vertical_margin"  
    android:paddingLeft="@dimen/activity_horizontal_margin"  
    android:paddingRight="@dimen/activity_horizontal_margin"  
    android:paddingTop="@dimen/activity_vertical_margin"  
    tools:context="com.example.test.imageslider.MainActivity">  
  
  
    <android.support.v4.view.ViewPager  
        android:id="@+id/viewPage"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent" />  
  
</RelativeLayout>  

Activity class

File: MainActivity.java

package com.example.test.imageslider;  
  
import android.support.v4.view.ViewPager;  
import android.support.v7.app.AppCompatActivity;  
import android.os.Bundle;  
  
public class MainActivity extends AppCompatActivity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
  
        ViewPager mViewPager = (ViewPager) findViewById(R.id.viewPage);  
        ImageAdapter adapterView = new ImageAdapter(this);  
        mViewPager.setAdapter(adapterView);  
    }  
}  

ImageAdapter class

Now create ImageAdapter class which extends PagerAdapter for android image slider.

Place some images in drawable folder which are to be slid.

File: ImageAdapter.java

package com.example.test.imageslider;  
  
import android.content.Context;  
import android.support.v4.view.PagerAdapter;  
import android.support.v4.view.ViewPager;  
import android.view.View;  
import android.view.ViewGroup;  
import android.widget.ImageView;  
  
public class ImageAdapter extends PagerAdapter{  
    Context mContext;  
  
    ImageAdapter(Context context) {  
        this.mContext = context;  
    }  
  
    @Override  
    public boolean isViewFromObject(View view, Object object) {  
        return view == ((ImageView) object);  
    }  
  
    private int[] sliderImageId = new int[]{  
            R.drawable.image1, R.drawable.image2, R.drawable.image3,R.drawable.image4, R.drawable.image5,  
    };  
  
    @Override  
    public Object instantiateItem(ViewGroup container, int position) {  
        ImageView imageView = new ImageView(mContext);  
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);  
        imageView.setImageResource(sliderImageId[position]);  
        ((ViewPager) container).addView(imageView, 0);  
        return imageView;  
    }  
  
    @Override  
    public void destroyItem(ViewGroup container, int position, Object object) {  
        ((ViewPager) container).removeView((ImageView) object);  
    }  
  
    @Override  
    public int getCount() {  
        return sliderImageId.length;  
    }  
}  

We need to override following methods of PagerAdapter class.

  1. isViewFromObject(View, Object): This method checks the view whether it is associated with key and returned by instantiateItem().
  2. instantiateItem(ViewGroup, int): This method creates the page position passed as an argument.
  3. destroyItem(ViewGroup, int, Object): It removes the page from its current position from container. In this example we simply removed object using removeView().
  4. getCount(): It returns the number of available views in ViewPager.

Output

android Image Slider 1
android Image Slider 2

Comment / Reply From