我有一個水平滾動視圖,裏面有一個ImageView。此imageview具有高寬度和低高度的位圖。位圖ImageView,在HorizontalScrollView中。如何使HorizontalScrollView高度與位圖匹配?
我想要位圖填充水平滾動視圖的高度,我想從左到右滾動位圖。
我試過使用這段代碼,但它不起作用。它在左側和右側創建兩個空間,這些空間是黑色的。這些空間來自ImageView ...所以...位圖的寬度小於ImageView
HorizontalScrollView wvScroll = new HorizontalScrollView(this);
wvScroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
iv.setImageBitmap(Util.getRemoteImage("http://mywebsite.com/90.gif"));
//iv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
iv.setScaleType(ScaleType.CENTER_INSIDE);
iv.setBackgroundColor(Color.BLACK);
wvScroll.addView(iv);
wvScroll.setBackgroundColor(Color.GREEN);
mainLayout.addView(wvScroll);
我在做什麼錯了?我也嘗試了iv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
,但它不起作用,結果相同。
編輯:
我也tryed與ScaleType.CENTER_CROP
,並沒有正常工作。位圖比ImageView具有更高的高度,因爲一些像素在位圖的頂部和底部丟失。
很多時候,如果視圖比圖像大,你想設置'android:adjustViewBounds'或'setAdjustViewBounds(boolean)'爲true以使邊界包裹圖像內容。這應該擺脫你看到的黑色空間。 –
哦......不幸的是它不起作用......現在我在位圖的頂部和底部有黑色空格 – Pableras84
右邊,表示您的圖像比HorizontalScrollView的實際高度要小,這意味着您要*放大*你的圖像在運行時(我有點錯過了這個問題)。唯一能夠進行放大的縮放類型是「FIT_XY」,但爲了正常工作,您需要爲ImageView設置正確的尺寸。換句話說:計算圖像和ImageView的大小(保持縱橫比等)並相應地調整佈局參數。 –