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