我正在创建一个自定义视图。在onDraw
方法中,我绘制了一个位图。Bitmaps
可以有不同的高度。我需要在图片加载后设置视图的高度。我得到onMeasure
并onDraw
在日志中。onMeasure
之前被调用onDraw
。在教程中说大小应该设置在onMeasure
. 如果高度的计算很耗时并且我需要在计算后设置它怎么办?在调用 onDraw 之前我必须预先计算尺寸吗?
问问题
125 次
1 回答
0
你可以试试
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(path, options);
注意:还有其他方法可以解码资源等,我只是以 decodeFile 为例。这将为您提供位图的尺寸,而无需对其进行完全解码,这将允许您将测量的尺寸设置为您需要的尺寸。尺寸将在选项中。
final int width = options.outWidth;
final int height = options.outHeight;
于 2016-02-17T21:12:20.923 回答