package com.marshalchen.common.demoofui.listbuddies;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.marshalchen.common.uimodule.listbuddies.adapters.CircularLoopAdapter;
import com.marshalchen.common.uimodule.listbuddies.views.ListBuddiesLayout;
import com.marshalchen.common.demoofui.R;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList;
import java.util.Collections;
/**
* Created by cym on 14-7-24.
*/
public class ListBuddiesActivity extends Activity {
public final static String[] imageUrls_left = new String[]{
"https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg",
"https://lh4.googleusercontent.com/--dq8niRp7W4/URquVgmXvgI/AAAAAAAAAbs/-gnuLQfNnBA/s1024/A%252520Song%252520of%252520Ice%252520and%252520Fire.jpg",
"https://lh5.googleusercontent.com/-7qZeDtRKFKc/URquWZT1gOI/AAAAAAAAAbs/hqWgteyNXsg/s1024/Another%252520Rockaway%252520Sunset.jpg",
"https://lh3.googleusercontent.com/--L0Km39l5J8/URquXHGcdNI/AAAAAAAAAbs/3ZrSJNrSomQ/s1024/Antelope%252520Butte.jpg",
"https://lh6.googleusercontent.com/-8HO-4vIFnlw/URquZnsFgtI/AAAAAAAAAbs/WT8jViTF7vw/s1024/Antelope%252520Hallway.jpg",
"https://lh4.googleusercontent.com/-WIuWgVcU3Qw/URqubRVcj4I/AAAAAAAAAbs/YvbwgGjwdIQ/s1024/Antelope%252520Walls.jpg",
"https://lh6.googleusercontent.com/-UBmLbPELvoQ/URqucCdv0kI/AAAAAAAAAbs/IdNhr2VQoQs/s1024/Apre%2525CC%252580s%252520la%252520Pluie.jpg"
};
public final static String[] imageUrls_right = new String[]{
"https://lh3.googleusercontent.com/-s-AFpvgSeew/URquc6dF-JI/AAAAAAAAAbs/Mt3xNGRUd68/s1024/Backlit%252520Cloud.jpg",
"https://lh5.googleusercontent.com/-bvmif9a9YOQ/URquea3heHI/AAAAAAAAAbs/rcr6wyeQtAo/s1024/Bee%252520and%252520Flower.jpg",
"https://lh5.googleusercontent.com/-n7mdm7I7FGs/URqueT_BT-I/AAAAAAAAAbs/9MYmXlmpSAo/s1024/Bonzai%252520Rock%252520Sunset.jpg",
"https://lh6.googleusercontent.com/-4CN4X4t0M1k/URqufPozWzI/AAAAAAAAAbs/8wK41lg1KPs/s1024/Caterpillar.jpg",
"https://lh3.googleusercontent.com/-rrFnVC8xQEg/URqufdrLBaI/AAAAAAAAAbs/s69WYy_fl1E/s1024/Chess.jpg"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_buddies_activity);
// ListBuddiesLayout listBuddies = new ListBuddiesLayout(this);
// listBuddies.setGap(mMarginDefault)
// .setSpeed(ListBuddiesLayout.DEFAULT_SPEED)
// .setDividerHeight(mMarginDefault)
// .setGapColor(getResources().getColor(R.color.frame))
// .setAutoScrollFaster(mScrollConfig[ScrollConfigOptions.RIGHT.getConfigValue()])
// .setManualScrollFaster(mScrollConfig[ScrollConfigOptions.LEFT.getConfigValue()])
// .setDivider(getResources().getDrawable(R.drawable.divider));
// ((FrameLayout)findViewById(R.id.<container_id>)).addView(listBuddies)
ListBuddiesLayout listBuddies = (ListBuddiesLayout) findViewById(R.id.listbuddies);
CircularAdapter adapter = new CircularAdapter(this, 150, imageUrls_left);
CircularAdapter adapter2 = new CircularAdapter(this, 150, imageUrls_right);
listBuddies.setAdapters(adapter, adapter2);
}
}
class CircularAdapter extends CircularLoopAdapter {
private static final String TAG = CircularAdapter.class.getSimpleName();
private ArrayList<String> mItems = new ArrayList<String>();
private Context mContext;
private int mRowHeight;
public CircularAdapter(Context context, int rowHeight, String[] imagesUrl) {
mContext = context;
mRowHeight = rowHeight;
initArray(imagesUrl);
}
private void initArray(String[] imageUrls) {
mItems.clear();
Collections.addAll(mItems, imageUrls);
}
@Override
public String getItem(int position) {
return mItems.get(getCircularPosition(position));
}
@Override
protected int getCircularCount() {
return mItems.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.list_buddies_item_list, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.image.setMinimumHeight(mRowHeight);
ImageLoader.getInstance().displayImage(getItem(position),holder.image);
// Picasso.with(mContext).load(getItem(position)).transform(new ScaleToFitWidhtHeigthTransform(mRowHeight, true)).skipMemoryCache().into(holder.image);
return convertView;
}
static class ViewHolder {
ImageView image;
public ViewHolder(View convertView) {
image = (ImageView) convertView.findViewById(R.id.listBuddiesItemImageView);
}
}
}