3

Universal Image Loader ライブラリを使用して一連の画像をロードし、TouchImageView を使用してズームを許可していました。Universal Image Loader を picasso に置き換えることにしました。画像よりもわずかに大きいフレームの周りに画像がズームされることを除いて、すべて正常に機能しました。

@Override
    public Object instantiateItem(ViewGroup view, int position) {
        View imageLayout = inflater.inflate(R.layout.item_pager_image, view, false);
        assert imageLayout != null;
        TouchImageView imageView = (TouchImageView) imageLayout.findViewById(R.id.image);
        final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading);
        spinner.setVisibility(View.INVISIBLE);
        Picasso.with(getApplicationContext()).setIndicatorsEnabled(false);
        Picasso.with(getApplicationContext()).load(images[position]).into(imageView,new Callback() {

            @Override
            public void onSuccess() {
                spinner.setVisibility(View.GONE);        
            }

            @Override
            public void onError() {

            }
        });
        view.addView(imageLayout, 0);
        return imageLayout;

私はこれのために数時間にわたって頭を悩ませてきました。これは TouchImageView が Picasso で持っている問題ですか? どんな助けもかなりのものです。ありがとう。

4

3 に答える 3

5

Mahram Foadi は、私にも役立つ優れたソリューションをここに投稿しました。

Picasso.with(context).load (someUri).into(new Target () {
   @Override
    public void onBitmapLoaded (final Bitmap bitmap,
        final Picasso.LoadedFrom loadedFrom) {
        someTouchImageView.setImageBitmap (bitmap);
    }

   @Override
    public void onBitmapFailed (final Drawable drawable) {
       Log.d(TAG, "Failed");
    }

   @Override
   public void onPrepareLoad (final Drawable drawable) {
        someTouchImageView.setImageDrawable (drawable);
   }
});

これが、私たちのような他の人が Picasso で TouchImageView を使用するのに役立つことを願っています ;)

于 2016-04-19T14:02:15.853 に答える
0

画像の幅と高さを wrap_content から fill_parent に設定すると、問題全体が何らかの形で修正されたことがわかりました。

于 2014-09-18T13:19:53.503 に答える