2012-06-20 215 views
0
  • 我有一個ListView,每一行都有一個ImageView。
  • 這些圖像在單獨的線程中下載,然後附加到UI線程中的ImageView。
  • 我下載的圖像是92 X 136 px。我使用BitmapFactory將這些圖像縮小到每個像素50 x 100像素。
  • 我希望這些圖像在不同的屏幕尺寸下看起來相同。我明白,在高密度屏幕上,這些圖像看起來可能更小,而密度更低的屏幕可能看起來更大。
  • 通常情況下,我們會將這些圖像放在mdpi,hdpi等文件夾中,但在這種情況下,圖像會動態下載並以編程方式進行縮放。顯示不同屏幕位圖android

    有人可以指出我正確的方向,我應該做什麼。我不需要任何代碼..只是一些算法中應該做的......

回答

0

的一種方式是在DP比例是這樣的:

int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, <HEIGHT>, getResources().getDisplayMetrics()); 

另一種方法是硬編碼在ImageView的尺寸以dp或指定其高度得到屏幕指標和計算的一定百分比後programaticaly寬度要填充的寬度/高度(儘管我認爲在佈局中只使用固定的dp就足夠了,如果需要,您可以使用值/維度來標記視圖的大小)。然後將一個縮放類型(如fitXYcenterCrop)分配給imageView以填充整個內容區域。

0

也許在XML文件夾中進行適當的密度定義的ImageView的大小,並設置有scalingType屬性像fitXY?