1. 程式人生 > >自定義view中bitmap.getwidth()方法報空指標

自定義view中bitmap.getwidth()方法報空指標

自定義view 的時候,在構造方法中初始化bitmap,一直報null。經過修改圖片獲取放在onDraw中,正常,原因未知。

程式碼如下:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
switchBackgroupBitmap=BitmapFactory.decodeResource(mContext.getResources(),R.drawable.t1);
switchBackgroupBitmap = setImgSize(switchBackgroupBitmap, 300, 100);
public 
Bitmap setImgSize(Bitmap bm, int newWidth, int newHeight) { // 獲得圖片的寬高. int width = bm.getWidth(); int height = bm.getHeight(); // 計算縮放比例. float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; // 取得想要縮放的matrix引數. Matrix matrix = new Matrix(); matrix.postScale(scaleWidth,
scaleHeight); // 得到新的圖片. Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true); return newbm; }