package com.zzx.factorytest.view;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Align;
import android.util.AttributeSet;
import android.widget.ImageButton;
import com.zzx.factorytest.R;
public class ImageTextButton extends ImageButton {
private String text = "";
private int color = 0;
private float textSize = 25f;
private float textPadding = 0f;
private Context mContext;
private int pading = 50;
private Boolean setResult = null;
public ImageTextButton(Context context, AttributeSet attrs) {
super(context, attrs);
this.mContext = context;
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.imageTextButton);
this.text = a.getString(R.styleable.imageTextButton_text);//
this.color = a.getInteger(R.styleable.imageTextButton_textColor,
android.R.color.white);
// this.textSize = a.getDimension(R.styleable.imageTextButton_textSize,
// 25);
this.setPadding(0, 0, 0, pading);
this.setFocusable(false);
}
public void setText(String text) {
this.text = text;
}
public void setColor(int color) {
this.color = color;
}
public void setTextSize(int textsize) {
this.textSize = textsize;
}
public void setResult(boolean result) {
setResult = result;
if(!setResult){
this.setBackgroundColor(Color.RED);
}
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setTextAlign(Align.CENTER);
paint.setColor(mContext.getResources().getColor(android.R.color.black));
paint.setTextSize(textSize);
if (text != null) {
canvas.drawText(text, this.getWidth() / 2,
(this.getHeight() - pading / 2), paint);
}
if (setResult != null) {
if (setResult) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.check_success);
canvas.drawBitmap(bitmap, 10,
10, paint);
} else {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.check_fail);
canvas.drawBitmap(bitmap, 10,
10, paint);
}
}
}
}