0

我正在创建一个自定义视图。在onDraw方法中,我绘制了一个位图。Bitmaps可以有不同的高度。我需要在图片加载后设置视图的高度。我得到onMeasureonDraw在日志中。onMeasure之前被调用onDraw。在教程中说大小应该设置在onMeasure. 如果高度的计算很耗时并且我需要在计算后设置它怎么办?在调用 onDraw 之前我必须预先计算尺寸吗?

4

1 回答 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 回答