我在 Android 项目中有一个自定义视图,在该自定义视图中,我想绘制一个大约为视图元素大小 1/3 的位图。
我使用以下代码
Bitmap bigIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon);
Bitmap icon = Bitmap.createScaledBitmap(bigIcon, newWidth, newHeight, false);
宽度newWidth
并且newHeight
是视图宽度和高度的 1/3。
现在的问题是,如果我想获取视图的宽度或高度,我必须在onMeasure
oronDraw
方法中获取它。而且我真的不想在每一帧都缩放它(bigIcon
在构造函数中只加载一次)。该createScaledBitmap
需求也被称为只有一次,但构造还为时过早,因为还没有创建视图。
所以问题是:如何访问视图的宽度和高度(知道视图的大小不会改变)?
我认为您可以通过覆盖自定义视图的onSizeChanged方法来完成您想要的。
在这里,只有当尺寸实际发生变化时,您才能根据视图的尺寸计算位图的尺寸。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句