I would like to share the image seen at that moment in the ViewPager , which will be taken from an array of images named sliderImagesId .
Here are the files of the app.
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager
android:id="@+id/viewPageAndroid"
android:layout_width="fill_parent"
android:layout_height="330dp"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:maxWidth="39dip"
android:scaleType="centerCrop"
android:adjustViewBounds ="true"
android:layout_marginBottom="120dp"
android:layout_marginTop="60dp" />
<LinearLayout
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
>
<Button
android:id="@+id/buttonSharePhoto"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/share"
android:layout_marginBottom="70dp"
android:backgroundTint="#FF4081"
android:textColor="#ffffff"
android:textStyle="bold"
android:onClick="sharePhoto"
android:text="foto" />
</LinearLayout>
First class (java file).
public class AndroidImageSlider extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.android_image_slider_activity);
ViewPager mViewPager = (ViewPager) findViewById(R.id.viewPageAndroid);
AndroidImageAdapter adapterView = new AndroidImageAdapter(this);
mViewPager.setAdapter(adapterView);
// listeners of our two buttons
View.OnClickListener handler = new View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonSharePhoto:
sharePhoto();
break;
}
}
};
// our buttons
findViewById(R.id.buttonSharePhoto).setOnClickListener(handler);
}
private void sharePhoto() {
// aqui codigo para compartir foto.
}
}
Second class (java file).
public class AndroidImageAdapter extends PagerAdapter {
Context mContext;
AndroidImageAdapter(Context context) {
this.mContext = context;
}
@Override
public int getCount() {
return sliderImagesId.length;
}
private int[] sliderImagesId = new int[]{
R.drawable.image1, R.drawable.image2, R.drawable.image3,
R.drawable.image4, R.drawable.image5, R.drawable.image6,
R.drawable.image7, R.drawable.image8, R.drawable.image9,
};
@Override
public boolean isViewFromObject(View v, Object obj) {
return v == ((ImageView) obj);
}
@Override
public Object instantiateItem(ViewGroup container, int i) {
ImageView mImageView = new ImageView(mContext);
mImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
mImageView.setImageResource(sliderImagesId[i]);
((ViewPager) container).addView(mImageView, 0);
return mImageView;
}
@Override
public void destroyItem(ViewGroup container, int i, Object obj) {
((ViewPager) container).removeView((ImageView) obj);
}