package com.emop.client.widget;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.FontMetrics;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.ImageView;
public class HotCateImageView extends ImageView {
public int id = 0;
public int fontSize = 0;
public String pic = null;
public String name = null;
public String tags = null;
//private ImageCache cache = null;
private Paint mPaint = new Paint();
public HotCateImageView(Context context, AttributeSet attr) {
super(context, attr);
}
public HotCateImageView(Context context, String name, String pic, int id) {
super(context);
this.name = name;
this.pic = pic;
this.id = id;
//this.cache = cache;
}
public void onDraw(Canvas canvas){
super.onDraw(canvas);
drawExtraInfo(canvas);
}
private void drawExtraInfo(Canvas canvas){
String familyName = "宋体";
//mPaint.setTypeface(Typeface.create(familyName, Typeface.NORMAL));
mPaint.setTypeface(Typeface.DEFAULT);
mPaint.setTextSize(fontSize);
mPaint.setDither(false);
mPaint.setAntiAlias(true);
//FontMetrics mm = mPaint.getFontMetrics();
//mm.
int mh = this.getMeasuredHeight();
int mw = this.getMeasuredWidth();
float minHeight = mPaint.getTextSize() + 4;
float maxHeight = mPaint.getTextSize() * 1.5f;
float height = (float)(mh * 0.25);
height = height > minHeight ? height : minHeight;
height = height > maxHeight ? maxHeight : height;
mPaint.setColor(Color.BLACK);
mPaint.setAlpha(50);
float top = mh - height;
canvas.drawRect(0, top, mw, mh, mPaint);
mPaint.setColor(Color.WHITE);
float padding = (height - mPaint.getTextSize()) / 2.5f;
String text = String.format("%1$1s", this.name);
float left = (mw - mPaint.measureText(text)) / 2;
left = left > 0 ? left : 0;
canvas.drawText(text, left, top + padding + mPaint.getTextSize(), mPaint);
}
}