Android 自定义视图获取宽度一次

沃特·范登普特

我在 Android 项目中有一个自定义视图,在该自定义视图中,我想绘制一个大约为视图元素大小 1/3 的位图。

我使用以下代码

Bitmap bigIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon);
Bitmap icon =   Bitmap.createScaledBitmap(bigIcon, newWidth, newHeight, false);

宽度newWidth并且newHeight是视图宽度和高度的 1/3。

现在的问题是,如果我想获取视图的宽度或高度,我必须在onMeasureoronDraw方法中获取它而且我真的不想在每一帧都缩放它(bigIcon在构造函数中只加载一次)。createScaledBitmap需求也被称为只有一次,但构造还为时过早,因为还没有创建视图。

所以问题是:如何访问视图的宽度和高度(知道视图的大小不会改变)?

迈克尔克劳斯

我认为您可以通过覆盖自定义视图的onSizeChanged方法来完成您想要的

在这里,只有当尺寸实际发生变化时,您才能根据视图的尺寸计算位图的尺寸。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章