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); } } }