package com.sun.bingo.ui.activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
import com.sun.bingo.R;
import com.sun.bingo.control.manager.ImageManager;
import com.sun.bingo.widget.ViewPagerFixed;
import butterknife.BindView;
import butterknife.ButterKnife;
import uk.co.senab.photoview.PhotoView;
/**
* Created by sunfusheng on 15/9/6.
*/
public class ImageActivity extends BaseActivity {
@BindView(R.id.view_pager)
ViewPagerFixed viewPager;
@BindView(R.id.toolbar)
Toolbar toolbar;
private int index;
private int size;
private String[] picUrls;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image);
ButterKnife.bind(this);
initData();
initView();
}
private void initData() {
index = getIntent().getIntExtra("index", 0);
picUrls = getIntent().getStringArrayExtra("picUrls");
size = picUrls.length;
}
private void initView() {
initToolBar(toolbar, true, index + 1 + "/"+size);
viewPager.setAdapter(new CheckImageAdapter(mContext, picUrls));
viewPager.setCurrentItem(index);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
toolbar.setTitle(position + 1 + "/" + size);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
static class CheckImageAdapter extends PagerAdapter {
private String[] picUrls;
private int size;
private ImageManager imageManager;
public CheckImageAdapter(Context context, String[]picUrls) {
this.picUrls = picUrls;
this.size = picUrls.length;
imageManager = new ImageManager(context);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
PhotoView photoView = new PhotoView(container.getContext());
imageManager.loadUrlImage(picUrls[position], photoView);
container.addView(photoView);
return photoView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public int getCount() {
return size;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
}