我正在做一个在画布上显示一张图像的应用程序。它在一台设备上运行良好,但是如果我在另一台设备上运行同一应用程序,则图像无法正确显示,因为在此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;
    }

09-28 09:27