Android 创建一个背景图类
时间: 2023-08-18 19:40:56 浏览: 90
以下是一个简单的 Android 背景图类:
```java
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;
public class BackgroundImageView extends View {
private Bitmap mBackgroundBitmap;
private Matrix mMatrix;
public BackgroundImageView(Context context) {
this(context, null);
}
public BackgroundImageView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public BackgroundImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init() {
// 加载背景图片
mBackgroundBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.background_image);
// 初始化矩阵
mMatrix = new Matrix();
mMatrix.setScale(1, 1);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (mBackgroundBitmap == null) {
return;
}
// 设置矩阵的尺寸
RectF rectF = new RectF(0, 0, getWidth(), getHeight());
mMatrix.setRectToRect(new RectF(0, 0, mBackgroundBitmap.getWidth(), mBackgroundBitmap.getHeight()), rectF, Matrix.ScaleToFit.CENTER);
// 绘制背景图片
canvas.drawBitmap(mBackgroundBitmap, mMatrix, null);
}
}
```
这个类继承自 View 类,重写了 onDraw 方法,在该方法内部绘制了背景图片。在 init 方法中加载了背景图片,并初始化矩阵用于缩放背景图片。
阅读全文