我有三个图像按钮的情况:
- 用相机拍照
- 删除照片
- 显示所拍摄图像的cropped2fit 版本
我正在使用手机的摄像头。
我的问题是,有时,显然没有任何解释,当我用 setImageBitmap 设置照片时,它会出现错误的 imageButton(似乎总是删除按钮,但我不太确定)。重新启动设备似乎可以解决问题。
代码很简单:我使用 findViewById 将对象转换为 ImageButton 并使用 setImageBitmap 设置图像。
ImageView iv = ((ImageView) findViewById(R.id.imgFotoPrima));
iv.setImageBitmap(fn.setupImage(data, PrimaOutputFileUri));
iv.setScaleType(ScaleType.CENTER_CROP);
public static Bitmap setupImage(Intent data, Uri outputFileUri) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2; // SAMPLE_SIZE = 2
Bitmap tempBitmap = null;
Bitmap bm = null;
try {
tempBitmap = (Bitmap) data.getExtras().get("data");
bm = tempBitmap;
Log.v("ManageImage-hero", "the data.getData seems to be valid");
FileOutputStream out = new FileOutputStream(outputFileUri.getPath());
tempBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
}
catch (NullPointerException ex) {
Log.v("ManageImage-other", "another phone type");
bm = otherImageProcessing(options, outputFileUri);
}
catch (Exception e) {
Log.e("ManageImage-setupImage", "problem setting up the image", e);
}
return bm;
}
xml 中的元素具有不同的 id。
我已经在 Lenovo (7') 和 Galaxy Tab 7 II 上试用过该应用程序。它似乎只发生在 Galaxy Tab 上。
会不会是平板的问题??有我这种情况的人吗?