Tuesday, March 16, 2021

Android ImageSlider

 

Android 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

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     xmlns:tools="http://schemas.android.com/tools"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     android:paddingBottom="@dimen/activity_vertical_margin"  
  7.     android:paddingLeft="@dimen/activity_horizontal_margin"  
  8.     android:paddingRight="@dimen/activity_horizontal_margin"  
  9.     android:paddingTop="@dimen/activity_vertical_margin"  
  10.     tools:context="com.example.test.imageslider.MainActivity">  
  11.   
  12.   
  13.     <android.support.v4.view.ViewPager  
  14.         android:id="@+id/viewPage"  
  15.         android:layout_width="fill_parent"  
  16.         android:layout_height="fill_parent" />  
  17.   
  18. </RelativeLayout>  

Activity class

File: MainActivity.java

  1. package com.example.test.imageslider;  
  2.   
  3. import android.support.v4.view.ViewPager;  
  4. import android.support.v7.app.AppCompatActivity;  
  5. import android.os.Bundle;  
  6.   
  7. public class MainActivity extends AppCompatActivity {  
  8.   
  9.     @Override  
  10.     protected void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.         setContentView(R.layout.activity_main);  
  13.   
  14.         ViewPager mViewPager = (ViewPager) findViewById(R.id.viewPage);  
  15.         ImageAdapter adapterView = new ImageAdapter(this);  
  16.         mViewPager.setAdapter(adapterView);  
  17.     }  
  18. }  

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

  1. package com.example.test.imageslider;  
  2.   
  3. import android.content.Context;  
  4. import android.support.v4.view.PagerAdapter;  
  5. import android.support.v4.view.ViewPager;  
  6. import android.view.View;  
  7. import android.view.ViewGroup;  
  8. import android.widget.ImageView;  
  9.   
  10. public class ImageAdapter extends PagerAdapter{  
  11.     Context mContext;  
  12.   
  13.     ImageAdapter(Context context) {  
  14.         this.mContext = context;  
  15.     }  
  16.   
  17.     @Override  
  18.     public boolean isViewFromObject(View view, Object object) {  
  19.         return view == ((ImageView) object);  
  20.     }  
  21.   
  22.     private int[] sliderImageId = new int[]{  
  23.             R.drawable.image1, R.drawable.image2, R.drawable.image3,R.drawable.image4, R.drawable.image5,  
  24.     };  
  25.   
  26.     @Override  
  27.     public Object instantiateItem(ViewGroup container, int position) {  
  28.         ImageView imageView = new ImageView(mContext);  
  29.         imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);  
  30.         imageView.setImageResource(sliderImageId[position]);  
  31.         ((ViewPager) container).addView(imageView, 0);  
  32.         return imageView;  
  33.     }  
  34.   
  35.     @Override  
  36.     public void destroyItem(ViewGroup container, int position, Object object) {  
  37.         ((ViewPager) container).removeView((ImageView) object);  
  38.     }  
  39.   
  40.     @Override  
  41.     public int getCount() {  
  42.         return sliderImageId.length;  
  43.     }  
  44. }  

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 

No comments:

Post a Comment

Inapp update

  Inapp update https://desk.zoho.com/portal/vegabirdtech/en/kb/articles/how-to-use-burp-suite-with-android-mobile