Android 获取以编程方式创建的ImageView的宽度和高度
我正在使用上的ImageMap小部件。这个扩展imageView的小部件假定图像和地图资源将存储在res/文件夹中,从而在布局xml上设置它们 我想使用SD卡中存储的我自己的资源。因此,我创建了一个构造函数,它同时接收映射文件路径和图像文件路径 这个问题是因为这个小部件需要预先计算imageView的宽度和高度,以便相应地缩放位图。但是以编程方式添加imageView似乎不会触发onSizeChanged事件 我如何解决这个问题 以下是我创建ImageMap的方式:Android 获取以编程方式创建的ImageView的宽度和高度,android,imageview,Android,Imageview,我正在使用上的ImageMap小部件。这个扩展imageView的小部件假定图像和地图资源将存储在res/文件夹中,从而在布局xml上设置它们 我想使用SD卡中存储的我自己的资源。因此,我创建了一个构造函数,它同时接收映射文件路径和图像文件路径 这个问题是因为这个小部件需要预先计算imageView的宽度和高度,以便相应地缩放位图。但是以编程方式添加imageView似乎不会触发onSizeChanged事件 我如何解决这个问题 以下是我创建ImageMap的方式: mImageMap = ne
mImageMap = new ImageMap(getApplicationContext(),"maps.xml", "/sdcard/media/myimage.jpg");
setContentView(mImageMap, new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT));
这就是前面提到的构造器:
public ImageMap(Context context, String mapFile, String imageFile) {
super(context);
Bitmap b = BitmapFactory.decodeFile(imageFile);
this.setImageBitmap(b);
init();
loadMapFromSDCard("maps.xml");
}
看起来您试图在实际渲染之前获取ImageView的大小,它将返回零。视图大小仅在渲染后定义 可能会解决您的问题,因此您只能在渲染后获得大小
是完整的因此,在xml定义的情况下,imageview是否在调用构造函数之前实际呈现?