1
我在CatchtheCows上使用ImageMap小部件。這個小部件(它擴展了imageView)假定圖像和地圖資源將被存儲在res /文件夾中,並因此將它們設置在佈局xml上。以編程方式創建ImageView的寬度和高度
我想使用我自己的資源存儲在SD卡中。所以我創建了一個接收地圖文件路徑和圖像文件路徑的構造函數。
問題來了,因爲這個小部件需要預先計算imageView的寬度和高度,以相應地縮放位圖。但以編程方式添加imageView似乎不會觸發onSizeChanged事件。
我該如何解決這個問題?
這是我創造我的圖像映射:
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");
}
所以在XML定義的情況下,不會將ImageView的實際得到調用構造函數之前渲染? –