我正在做一个在画布上显示一张图像的应用程序。它在一台设备上运行良好,但是如果我在另一台设备上运行同一应用程序,则图像无法正确显示,因为在此onDraw
中,我没有提到imageview的宽度或高度,因此任何人都可以建议我如何设置宽度和在侧面onDraw
方法中达到该imageview的高度。
我的代码是:
@Override
public void onDraw(Canvas canvas) {
Paint painto = new Paint();
painto.setAntiAlias(true);
painto.setColor(getResources().getColor(R.color.magnata));
painto.setStrokeWidth(3);
painto.setStyle(Paint.Style.FILL);
Paint paint = new Paint();
int leftx2 = (int) (10 * (screenWidth / 1024));
int topy1 = (int) (10 * (screenHeight / 600));
Bitmap kangoo = BitmapFactory.decodeResource(getResources(),
R.drawable.kangoo);
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(kangoo, leftx2, topy1, painto);
}
最佳答案
您可以使用onSizeChange()设置宽度和高度。这可以让您更改宽度和高度
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
// TODO Auto-generated method stub
super.onSizeChanged(w, h, oldw, oldh);
newwidth=w;
newheight=h;
}