0

我正在使用: https ://github.com/jasonpolites/gesture-imageview

  • 在加载应用程序时,它在 GestureImageView 中有一个占位符图像,可以适当地捏/缩放。我有一个按钮,当单击时会触发相机意图,保存文件,然后我希望将该图像设置为手势图像视图中使用的源位图。

    GestureImageView imageView = (GestureImageView) findViewById(R.id.imageViewOne);

    ContentResolver cr = getContentResolver();
    
    getContentResolver().notifyChange(imageUriOne, null);
    
    
                    try {
    Bitmap mybitmap =  android.provider.MediaStore.Images.Media.getBitmap(cr, imageUriOne);
    
     imageView.setImageBitmap(mybitmap);
    

    }

对于正常的图像视图,这是有效的。但是对于 GestureImageView,一旦从相机意图返回,图像就会保持原样,如果被触摸,图像就会消失。

为了检查问题不是位图,我试过了

int idTwo=getResources().getIdentifier("com.jazz.test1:drawable/second_photo", null, null);

imageView.setImageResource(idTwo);

即将图像视图设置为现有资源,但这有同样的问题。

如果我在意图之前调用该 setImageResource 代码,它确实有效。

任何想法如何调试?日志中没有错误。

4

2 回答 2

3

分辨率在这里:

https://github.com/jasonpolites/gesture-imageview/issues/21

  • 当我最初查看 github 问题时并没有注意到它。
于 2012-12-13T19:52:47.097 回答
0

您必须替换您的initMethod函数。使用此代码,它将正常工作(com.polites.android 包中的 GestureImageView.java文件)。

protected void initImage() {
        if (this.drawable != null) {
            this.drawable.setAlpha(alpha);
            this.drawable.setFilterBitmap(true);
            if (colorFilter != null) {
                this.drawable.setColorFilter(colorFilter);
            }
            // Keppel.Cao
            layout = false;
            startingScale = -1.0f;
        }

        if (!layout) {
            requestLayout();
            // Keppel.Cao
            // redraw();
            reset();
        }
}

就像戴夫说的。更多你可以在这里找到第 21 期

于 2014-07-25T07:46:06.570 回答