我想在实例化之前设置我的位图的布局大小,以便可以实例化它(如果没有,则其布局高度和宽度为0)。
我在自定义视图中使用以下简单代码:
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30);
mBitmap.setLayoutParams(layoutParams);
mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
}
在
mBitmap.setLayoutParams(layoutParams);
行上出现错误The method setLayoutParams(LinearLayout.LayoutParams) is undefined for the type Bitmap
在SO或Google上都找不到任何东西(使用“”,因为没有它们,我几乎找不到有用的东西)。
任何帮助表示赞赏,在此先感谢您。
最佳答案
setlayoutParams
是View类(及其后代)对象的方法。
您应该通过调用setImageBitmap
将位图设置为视图(明确地是ImageView)。您可以调用setLayoutParams
到视图。
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30);
// of course you should instantiate mImageView anywhere beforehand
mImageView.setLayoutParams(layoutParams);
mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
// set mBitmap to mImageView
mImageView.setImageBitmap(mBitmap);
}
关于android - 未为类型Bitmap定义方法setLayoutParams(LinearLayout.LayoutParams),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32611704/