package kankan.wheel.widget.adapters;
import java.util.List;
import com.itbox.fx.core.L;
import com.itbox.grzl.bean.AreaData;
import kankan.wheel.widget.adapters.AbstractWheelTextAdapter;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Paint;
import android.text.Layout;
import android.text.TextPaint;
import android.util.DisplayMetrics;
import android.util.FloatMath;
/**
*
* 类说明
* @author hyh
* create at:2013-3-28 下午03:46:52
* @param <T>
*/
public class AreaWheelAdapter extends kankan.wheel.widget.adapters.ListWheelAdapter<AreaData> {
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int maxWidth = metrics.widthPixels;//Constant.SCREEN_W / 2;//屏幕宽度的一半
int maxLength;
/**
* Constructor
* @param list
*/
@SuppressLint("FloatMath")
public AreaWheelAdapter(Context context, List<AreaData> items) {
super(context, items);
TextPaint itemsPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG| Paint.FAKE_BOLD_TEXT_FLAG);
itemsPaint.setTextSize(AbstractWheelTextAdapter.DEFAULT_TEXT_SIZE);
float textWidth = FloatMath.ceil(Layout.getDesiredWidth("0", itemsPaint));
maxLength = (int) (maxWidth / textWidth / 3);
L.i("AreaAdapter", "maxLength = "+ maxLength);
L.i("AreaAdapter", "maxWidth = "+ maxWidth);
}
@Override
public CharSequence getItemText(int index) {
if (index >= 0 && index < items.size()) {
String item = items.get(index).getAreaName();
if(maxLength < item.length()){
item = item.substring(0, maxLength);
}
if (item instanceof CharSequence) {
return (CharSequence) item;
}
return item.toString();
}
return null;
}
}