2012-06-27 3 views
1

J'essaie de créer popupWindow avec preView où l'utilisateur peut voir les images de la galerie. Mais les première et deuxième images sont cachées et à la fin de scrollView est un espace vide comme dans une capture d'écran.HorizontalScrollView dans PopupWindow

enter image description here

Je suis essayer d'utiliser
layout.addView (imageView);

private void showAttachmentPopup() { 
    LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View popupView = layoutInflater.inflate(R.layout.attachemnts_file_popup, null, false); 
    PopupWindow pw = new PopupWindow(popupView, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, true); 
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.BELOW, findViewById(R.id.layout_sent).getId()); 
    popupView.setLayoutParams(params); 
    LinearLayout layout_attachment = (LinearLayout) popupView.findViewById(R.id.layout_attachment); 
     RoundedImageView roundedImageView = new RoundedImageView(this); 
     LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, Gravity.CENTER); 
     lp.setMargins(5, 5, 5, 5); 
     roundedImageView.setLayoutParams(lp); 
     roundedImageView.setScaleType(RoundedImageView.ScaleType.FIT_XY); 
     roundedImageView.setImageBitmap(bitmap); 
     layout_attachment.addView(roundedImageView); 

    pw.setOutsideTouchable(true); 
    pw.setBackgroundDrawable(new BitmapDrawable()); 
    pw.showAtLocation(mBtnAttach, Gravity.BOTTOM | Gravity.LEFT, locateView(mBtnAttach).bottom, locateView(mBtnAttach).right); 
} 

Et si j'essaie d'ajouter ce bitmap peu de temps cette erreur se produit. Dans mon xml seulement HorizontalScrollView et LinearLayout ici

+0

pouvez-vous s'il vous plaît poster une partie de votre code. –

Répondre

1

Je (suppose) j'avais le même problème, regardé la même chose.

Ce qui m'a aidé était de mettre adjustViewBounds:

roundedImageView.setAdjustViewBounds(true); 

espère que cela convient à votre cas!