我想初始化并显示一个四乘四的圆圈网格。我收到两个错误:
1实际上是一个警告:应该以静态方式访问来自类型位图的静态方法createBitmap。
1 错误:构造函数 Bitmap() 不可见。
下面是我的代码。
package com.example.dcubebluetooth;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;
public class LEDView extends View{
Paint background = new Paint();
Paint black = new Paint();
Paint red = new Paint();
int numRows = 4;
int numCols = 4;
Bitmap[][] leds = new Bitmap[numRows][numCols];
Canvas ledDrawer = new Canvas();
public LEDView(Context context) {
super(context);
background.setARGB(255, 255, 255, 255);
black.setARGB(255, 0, 0, 0);
red.setARGB(255, 255, 0, 0);
for(int y=0; y<numCols; y++){
for(int x=0; x<numRows; x++){
Bitmap map = Bitmap.createBitmap(100, 100, Config.RGB_565); //Error here
leds[x][y] = map;
ledDrawer.setBitmap(leds[x][y]);
ledDrawer.drawCircle(50, 50, 50, black);
}
}
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawPaint(background);
for(int y=0; y<numCols; y++){
for(int x=0; x<numRows; x++){
canvas.drawBitmap(leds[x][y], x*100, y*100, null);
}
}
}
}
我做了一个以前的项目,我这样做了,它没有给我任何错误或警告:
//Instance variable
Bitmap touchPad;
//In constructor
touchPad = Bitmap.createBitmap(screenWidth, (int) (screenHeight*0.75), Config.RGB_565);
两者有什么区别?
额外信息:四乘四网格将代表连接到我的微控制器的一层 LED。我将在侧面有四个其他按钮来在层和更多数组之间切换以存储当前状态。