Autore Topic: Bug visualizzazione immagini utilizzando Picasso  (Letto 396 volte)

Offline giupardeb

  • Utente junior
  • **
  • Post: 115
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Glaxy Note 4
Bug visualizzazione immagini utilizzando Picasso
« il: 16 Agosto 2015, 13:44:30 CEST »
0
Buongiorno ragazzi, ho problemi di visualizzazione di immagini in fullscreen caricate attraverso Picasso. Questo problema di visualizzazione si riscontra soltanto sul nexus 5. Vi allego due foto per chiarificare meglio il problema:





Di seguito vi allego il codice dell'activity fullscreen e il relativo adapter:

FullScreen Adapter
Codice: [Seleziona]
public class FullScreenImageAdapter extends PagerAdapter {

    private Activity _activity;
    private ArrayList<String> _imagePaths;
    private LayoutInflater inflater;

    // constructor
    public FullScreenImageAdapter(Activity activity,
                                  ArrayList<String> imagePaths) {
        this._activity = activity;
        this._imagePaths = imagePaths;
    }

    @Override
    public int getCount() {
        return this._imagePaths.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == ((RelativeLayout) object);
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        TouchImageView imgDisplay;
        Button btnClose;

        inflater = (LayoutInflater) _activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View viewLayout = inflater.inflate(R.layout.layout_fullscreen_image, container,
                false);

        imgDisplay = (TouchImageView) viewLayout.findViewById(R.id.imgDisplay);

      //  BitmapFactory.Options options = new BitmapFactory.Options();
      //  options.inPreferredConfig = Bitmap.Config.ARGB_8888;
      //  Bitmap bitmap = BitmapFactory.decodeFile(_imagePaths.get(position), options);

      //  imgDisplay.setImageBitmap(bitmap);

        if (position != -1) {
            File f = new File(_imagePaths.get(position));
            Picasso.with(_activity)
                    .load(f).fit().centerInside()
                    .noFade()
                    .into(imgDisplay);
        } else {
            Picasso.with(_activity)
                    .load(R.raw.big_problem)
                    .noFade()
                    .into(imgDisplay);
        }

        container.addView(viewLayout);

        return viewLayout;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((RelativeLayout) object);

    }
}

FullScreen Activity

Codice: [Seleziona]
public class FullScreenViewActivity extends Activity {

    private Utils utils;
    private FullScreenImageAdapter adapter;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);

        setContentView(R.layout.activity_fullscreen_view);

        viewPager = (ViewPager) findViewById(R.id.pager);

        Button btnBack = (Button)findViewById(R.id.btn_back);
        btnBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
        utils = new Utils(getApplicationContext());

        Intent i = getIntent();
        int position = i.getIntExtra("position",0);
        ArrayList<String> imagePath = i.getStringArrayListExtra("myArray");

        adapter = new FullScreenImageAdapter(FullScreenViewActivity.this,imagePath);

        viewPager.setAdapter(adapter);

        // displaying selected image first
        viewPager.setCurrentItem(position);
    }
}

Perché questo problema si riscontra solamente sul nexus 5? Spero di risolvere il problema..Buona giornata :)