1

タッチで次と前に移動するピンチズームを持つ表示画像のギャラリーを作成しました。私はhttps://github.com/kilaka/ImageViewZoomライブラリにアクセスしていました。ギャラリーが最初にすべての画像をアップロードしてから、画像を表示しているのを見ましたが、これは良い活動です。ただし、ギャラリーは最大 4MB の画像をアップロードできます。画像のサイズが 4MB を超えると、ビットマップのメモリ不足エラーが発生します。私は bitmap.recycle() を使用していましたが、すべての画像をリサイクルしています。

ここで何らかの方法で行うので、私のギャラリーはsdcardから画像を1つずつアップロードし、タッチで次または前の画像に移動するときは、現在の画像メモリを削除する必要があります。次の画像はギャラリーメモリにアップロードする必要があります。私のギャラリーはたくさんの画像をアップロードできます。

これは私のコードです、このコードは訪問からのリンクですhttps://github.com/kilaka/ImageViewZoom :-

 gallery = new GalleryTouch(this);
       gallery = (GalleryTouch) findViewById(R.id.image);
       gallery.setSpacing(20);
       arrayAdapter = new ArrayAdapter<ImageView>(this, -1) {
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                bookM= position;        return getItem(position); 
                        }
        };

if(!(it.isEmpty() )) {
       Collections.sort(it); 
    for(int i=0; i<it.size();i++) {
            ImageViewTouch imageView = new ImageViewTouch(imageTouch.this);
            imageView.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
            final Options options = new Options();
            options.outHeight = (int) scaleHeight; 
            options.outWidth = (int) scaleWidth;   
            options.inScaled = true;
            options.inPurgeable = true;
            options.inSampleSize = 2;
            String photoURL = it.get(i);
            bitmap = BitmapFactory.decodeFile(photoURL,options);
            imageView.setImageBitmap(bitmap);
                arrayAdapter.add(imageView); 
        }
       gallery.setAdapter(arrayAdapter); 
        }

注:- このコードでは、"it" は List it の変数です。sdcard/images/one.jpg 、 sdcard/images/two.jpg などのように、sdカードからの画像のパスのリストを持つリスト

専門家が私を助けてください、あなたの重要な時間をありがとう.

4

0 に答える 0