package com.fancl.iloyalty.adapter;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Handler;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.RelativeLayout;
import com.fancl.iloyalty.AndroidProjectApplication;
import com.fancl.iloyalty.ApiConstant;
import com.fancl.iloyalty.Constants;
import com.fancl.iloyalty.R;
import com.fancl.iloyalty.R.color;
import com.fancl.iloyalty.item.AsyncImageView;
import com.fancl.iloyalty.pojo.HotItem;
import com.fancl.iloyalty.util.DataUtil;
import com.fancl.iloyalty.util.DeviceUtil;
import com.viewpagerindicator.IconPagerAdapter;
public class WhatsHotHomeViewPagerAdapter extends PagerAdapter implements IconPagerAdapter {
private Handler handler;
private Activity activity;
private List<RelativeLayout> mainLayoutList = new ArrayList<RelativeLayout>();
private List<ImageView> shopImageList = new ArrayList<ImageView>();
private List<HotItem> pictureLinkList = new ArrayList<HotItem>();
private int padding = (int)DataUtil.dip2px(AndroidProjectApplication.application, 3);
public WhatsHotHomeViewPagerAdapter(Activity activity,
List<HotItem> pictureLinkList, Handler handler)
{
this.pictureLinkList = pictureLinkList;
this.activity = activity;
this.handler = handler;
setUpViews();
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(mainLayoutList.get(arg1));
}
@Override
public void finishUpdate(View arg0) {
}
@Override
public int getCount() {
return mainLayoutList.size();
}
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(mainLayoutList.get(arg1), 0);
return mainLayoutList.get(arg1);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == (arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
private void setUpViews() {
for (int i = 0; i < pictureLinkList.size(); i++)
{
shopImageList.add(getImageView());
RelativeLayout relativeLayout = new RelativeLayout(activity);
relativeLayout.setBackgroundColor(activity.getResources().getColor(R.color.Red));
relativeLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
relativeLayout.setPadding(padding, 0, padding, 0);
relativeLayout.addView(shopImageList.get(i));
mainLayoutList.add(relativeLayout);
AsyncImageView tmpImageView = (AsyncImageView) shopImageList.get(i);
tmpImageView.setBackgroundColor(activity.getResources().getColor(R.color.Orange));
tmpImageView.setRequestingUrl(handler, (ApiConstant.getAPI(ApiConstant.HOT_ITEM_IMAGE_PATH) + pictureLinkList.get(i).getHighlightImage()), Constants.IMAGE_FOLDER);
}
}
private ImageView getImageView() {
int width = DeviceUtil.getDeviceWidth(activity);
int height = 0;
width = Math.round(width*0.95F);
height = Math.round(((float)width/308F)*176F);
AsyncImageView imageView = new AsyncImageView(activity);
imageView.setBackgroundColor(activity.getResources().getColor(R.color.LightGrey));
imageView.setScaleType(ScaleType.FIT_XY);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
params.setMargins(10, 0, 0, 0);
imageView.setLayoutParams(params);
imageView.setPadding(padding, padding, padding, padding);
return imageView;
}
@Override
public int getIconResId(int index) {
// return -1;
return R.drawable.shop_detail_view_pager_indicator_dots;
}
}