package com.huxian.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.huxian.Constants;
import com.huxian.R;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import static android.support.v4.view.ViewPager.OnPageChangeListener;
public class ShowPhotoActivity extends Activity {
public static final String INTENT_PHOTO_INDEX = "photo_index";
private ViewPager viewPager;
private DisplayImageOptions options;
private int photoIndex = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_photo);
initData();
findViews();
initViews();
}
private void initData() {
Intent intent = getIntent();
photoIndex = intent.getIntExtra(INTENT_PHOTO_INDEX, 0);
options = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.drawable.loading)
.showImageOnFail(R.drawable.loading)
.showImageOnLoading(R.drawable.loading)
.cacheInMemory(true)
.cacheOnDisk(true)
.build();
}
private void findViews() {
viewPager = (ViewPager) findViewById(R.id.show_photo_vp);
}
private void initViews() {
viewPager.setAdapter(new PhotoPagerAdapter());
viewPager.setOnPageChangeListener(new PhotoOnPageChangeListener());
viewPager.setCurrentItem(photoIndex);
}
class PhotoPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return Constants.PHOTOS.length;
}
@Override
public boolean isViewFromObject(View view, Object obj) {
return (view == obj);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(ShowPhotoActivity.this);
ImageLoader.getInstance().displayImage(Constants.PHOTOS[position], imageView, options);
container.addView(imageView);
return imageView;
}
@Override
public void finishUpdate(ViewGroup container) {
super.finishUpdate(container);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
class PhotoOnPageChangeListener implements OnPageChangeListener {
@Override
public void onPageScrolled(int i, float v, int i2) {
}
@Override
public void onPageSelected(int i) {
}
@Override
public void onPageScrollStateChanged(int i) {
}
}
}