设置自定义视图的大小

时间:2016-02-17 20:42:30

标签: java android view ondraw onmeasure

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

1 个答案:

答案 0 :(得分:0)

你可以尝试

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(path, options);

注意:还有其他可用于解码资源等的方法, 我只是用decodeFile作为例子。这将为您提供Bitmap的尺寸而不完全解码它 允许您将测量的尺寸设置为您需要的尺寸。 尺寸将在选项中。

final int width = options.outWidth;
final int height = options.outHeight;