2011-05-11 23 views
4

我已將圖庫控件與其他視圖一起使用。我希望畫廊與我的活動一樣廣泛,我希望我的圖片符合畫廊的大小。我與ImageView.ScaleType糊塗一點點,但是這是我選擇什麼:Android圖庫問題 - 圖庫尺寸比預期的要大

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView=new ImageView(activity); 
    imageView.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
    //imageView.setPadding(10, 10, 10, 10); 
    String imageUrl="my_uri.com/sample.png"; 

    imageLoader.displayImage(imageUrl, activity, imageView); 

    imageView.setTag(imageUrl); 

return imageView; 
} 

我的活動佈局的一部分:

<Gallery 
     android:id="@+id/gallery" 
     android:layout_below="@+id/tvDetailedDescription" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#CCCCCC" 
    /> 

爲畫廊我curtom適配器的一部分enter image description here

我需要的是擺脫頂部和底部(標記爲紅色)的畫廊額外的灰色部分。我想知道它爲什麼有這樣的大小?也許我對縮放類型的東西做了一些有趣的事情?

回答

1

嘗試使用ScaleType.CENTER_CROP代替 - 這將使圖像在保持縱橫比的同時適合整個高度 - 即左右圖像中的某些圖像不可見。

或者,您可以使用ScaleType.FIT_XY - 這不會保持高寬比,並且會拉伸圖像,以便所有圖像都適合在ImageView中。

+0

我需要保存寬高比。 CENTER.INSIDE似乎很好,但我仍然在底部和頂部留下了灰色的額外空間。 – 2011-05-11 11:40:38

+0

然後嘗試'CENTER_CROP' - 保持寬高比。 – 2011-05-11 11:56:33

+0

這使得圖像變得更大,CENTER_INSIDE是我想要的樣子,但我不知道爲什麼圖庫小部件本身變得比imageview更大。 – 2011-05-11 12:02:30

0

嘗試改變圖像視圖的佈局PARAMS(將高度設置爲FILL_PARENT以及) -

Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
+0

這不起作用。 – 2011-05-19 18:55:17

0

機器人:layout_weight = 「1」 的GridView或父。 您必須使用「hierarchyviewer」工具才能更好地展開 什麼樣的佈局需要設計優先級, 針對undestand什麼佈局不填充自己的父級。

我希望它能幫助你。