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 に答える