0

我有三个图像按钮的情况:

  1. 用相机拍照
  2. 删除照片
  3. 显示所拍摄图像的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 上。

会不会是平板的问题??有我这种情况的人吗?

4

0 回答 0