您的位置:首页 > 移动开发 > Android开发

Android在用canvas绘图时自定义图片按钮

2013-09-27 17:21 417 查看
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;

public class ImageButton {

/** 按钮图片 **/
private Bitmap mBitButton = null;

/** 图片绘制的XY坐标 **/
public int mPosX = 0;
public int mPosY = 0;
/** 图片绘制的宽高 **/
private int mWidth = 0;
private int mHeight = 0;

public ImageButton(Context context, int frameBitmapID, int x, int y) {
mBitButton = DrawableZoom.readBitmap(context, frameBitmapID);
mPosX = x;
mPosY = y;
mWidth = mBitButton.getWidth();
mHeight = mBitButton.getHeight();
}

public ImageButton(Context context, Bitmap frameBitmap, int x, int y) {
mBitButton = frameBitmap;
mPosX = x;
mPosY = y;
mWidth = mBitButton.getWidth();
mHeight = mBitButton.getHeight();
}

/**
* 绘制图片按钮
*
* @param canvas
* @param paint
*/
public void DrawImageButton(Canvas canvas, Paint paint) {
canvas.drawBitmap(mBitButton, mPosX, mPosY, paint);
}

public void DrawImageButton(Canvas canvas, int x, int y, Paint paint) {
mPosX = x;
mPosY = y;
canvas.drawBitmap(mBitButton, mPosX, mPosY, paint);
}

/**
* 绘制图片按钮
*
* @param canvas
* @param paint
*/
public void DrawMatrixImageButton(Canvas canvas, Matrix matrix, Paint paint) {
Bitmap newBmp = Bitmap.createBitmap(mBitButton, 0, 0,
mBitButton.getWidth(), mBitButton.getHeight(), matrix, true);
canvas.drawBitmap(newBmp, mPosX, mPosY, paint);
}

/**
* 判断是否点中图片按钮
*
* @param x
* @param y
*/
public boolean IsClick(int x, int y) {
boolean isClick = false;
if (x >= mPosX && x <= mPosX + mWidth && y >= mPosY
&& y <= mPosY + mHeight) {
isClick = true;
}
return isClick;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: