我写了一个模块,创建了一个用imageView覆盖的cameraview来拍摄照片,我的问题是因为我无法将图像传递到“res”文件夹中,我需要将它放在“资源”中,纯粹java它一切正常,但我天堂不明白一旦我导出模块,在钛项目中放置“资产”文件的位置。 当我用IOException调用该方法时它会崩溃。 感谢
FrameLayout fl = new FrameLayout(this);
SurfaceView preview = new SurfaceView(this);
ImageView footerCam = new ImageView(this);
LinearLayout ll = new LinearLayout(this);
LinearLayout.LayoutParams shareParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
footerCam.setLayoutParams(shareParams);
ll.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT);
ll.addView(footerCam);
fl.addView(preview);
fl.addView(ll);
setContentView(fl);
camera = Camera.open();
try
{
AssetManager am = getAssets();
BufferedInputStream buf = new BufferedInputStream(am.open("footer1.png"));
Bitmap bitmap = BitmapFactory.decodeStream(buf);
footerCam.setImageBitmap(bitmap);
buf.close();
}
catch (IOException e)
{
Log.e("IMG","@@@@@@@@@@@@@@@@@@@@@@@ ERROR LOADING IMAGE");
e.printStackTrace();
}
这是我宣布按钮并从资产文件夹中为其分配图像的代码片段,但仅适用于android,当我部署模块并将其包含在钛中时,它属于IOException,我需要在哪里放置文件“footer1.png”或“assets”文件夹?
答案 0 :(得分:0)
我用这种workround来管理它
int resID = getResources().getIdentifier("IMG.png", "drawable", "it.temp");
// or
int resID = getResources().getIdentifier("it.temp:drawable/icon",null,null);
button.setBackgroundResource(resID);// or whatever you need
但您必须将图像放在与源代码相同的包中。