Android Image Slider
Android picture slider slides one whole screen to another
screen. Picture slider is made by ViewPager which is given by help library. To
execute picture slider, you have to acquire ViewPager class which broadens
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.
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
Presently make ImageAdapter class which broadens
PagerAdapter for android picture slider.
Spot a few pictures in drawable envelope which are to be
slid.
ImageAdapter.java
package com.example.android.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 mathods of PageAdapter class.
- isViewFromObject(View, Object): This technique checks the view whether it is related with key and returned by instantiateItem().
- instantiateItem(ViewGroup, int): This strategy makes the page position go as a contention.
- destroyItem(ViewGroup, int, Object): It expels the page from its present position from compartment. In this model we basically expelled item utilizing removeView().
- getCount(): It restores the quantity of accessible perspectives in ViewPager.
No comments:
Post a Comment