2011-08-26 106 views
0

我有一個Horizo​​ntalScrollView,它包含一個水平LinearLayout。現在,我將同樣大的ImageView添加到LinearLayout中,以便我可以在ImageView之間滾動。 ImageViews應該並排放置,並且兩者之間沒有空間,但是每個圖像的兩側都會產生巨大的空間(我認爲它是圖像寬度的一半)。如何擺脫LinearLayout中Views之間的空間

以下是我如何做到這一點,希望有人對我有幫助。

public class SnapGallery extends HorizontalScrollView { 

    private ArrayList<Bitmap> items = null; 

    protected Context context = null; //Context of the activity 
    protected LinearLayout wrapper = null; //This serves as a container for the images in the SnapGallery. 

    //Constructor 
    public SnapGallery(Context context) { 
     super(context); 

     this.context = context; 
     items = new ArrayList<Bitmap>(); 

     this.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

     wrapper = new LinearLayout(context); 
     wrapper.setOrientation(LinearLayout.HORIZONTAL); 
     wrapper.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

     wrapper.setPadding(0, 0, 0, 0); 
     wrapper.setGravity(Gravity.LEFT); 

     this.addView(wrapper); 

     items = getTestBitmaps(); 

     for (Bitmap b : items) { 
      ImageView curr = createViewFromBitmap(b); 
      wrapper.addView(curr, new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, 1.0f)); 
     } 

    } 

    public ImageView createViewFromBitmap (Bitmap bitmap) { 

     ImageView view = new ImageView(context); 
     view.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
     view.setPadding(0, 0, 0, 0); 
     view.setImageBitmap(bitmap); 
     return view;   
    } 
} 

在此先感謝!

+0

你檢查/設置邊距爲0以及填充? – Kerry

回答

0

您的圖片越來越縮放,所以你需要調用你的圖像對象adjustViewBounds(真),以除去遊離的水平空間。

+0

完美,這就是訣竅。非常感謝你! – metaclypse

0

可能需要邊距設置爲0。事情是這樣的:

LinearLayout.LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
params.setMargins(0, 0, 0, 0); 
wrapper.setLayoutParams(params); 
+0

感謝您的帖子,但沒有奏效。就像以前一樣。 – metaclypse

+0

我看到你有幾個其他的'LinearLayout.LayoutParams'對象。你嘗試過所有這些嗎?特別是在'wrapper.addView()'行中的那一行。 –

+0

是的,但不幸的是沒有真正的變化。 – metaclypse