2013-07-31 48 views
14

我正在使用relativelayout來疊加圖像。在迄今爲止我測試過的所有屏幕尺寸上(從2.7到10.1英寸),我總是在圖像上獲得空白區域。在我的IDE中,我總是看到我的相關佈局導致了圖像頂部和底部的額外空間。爲什麼我在我的RelativeLayout中在ImageView的頂部和底部獲得空白空間?

這是爲什麼?我已將所有高度屬性設置爲wrap_content,甚至添加了adjustViewBounds屬性。

注意:您應該知道我的圖片尺寸較大,這意味着會有某種縮放。

感謝您的提示!

下面是代碼:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#FFFFFF" 
    android:orientation="vertical" > 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:orientation="vertical" 
    android:focusable="true" 
android:focusableInTouchMode="true"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:text="@string/bgf" 
    android:textColor="#000000" 
    android:textSize="25sp" /> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 

     android:adjustViewBounds="true" 
     android:paddingRight="5dp" 
     android:paddingLeft="5dp" 
     android:paddingBottom="5dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" 
     android:src="@drawable/cde" 
     android:contentDescription="@string/cde" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:layout_gravity="center_horizontal" 
     android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" 
     android:src="@drawable/fgh" 
     android:contentDescription="@string/abc" /> 

</RelativeLayout> 


</LinearLayout> 
</ScrollView> 
+0

你的滾動視圖應該只有一個兒童。您的relativelayout不在滾動視圖內嗎? – Neoh

+0

你能發佈佈局圖片 –

+0

@Neoh有一些代碼缺失。再次檢查 – user2426316

回答

12

作爲圖像被按比例縮小,以適應可用的不失圖像的縱橫比的區域。這是發生。由於圖像首先佔用了可用的寬度,並且根據原始圖像的高寬比降低了高度,所以您會獲得空白區域。

要獲得更清晰的瞭解,我建議你做到以下幾點:

  • 設置相對佈局的一些顏色的背景顏色

現在,你可以理解的ImageView之間的空間和相關佈局。

一旦您確認您的設備上,執行以下更改,然後再試一次

  • 設置在ImageView的屬性scaleType =「fitXY」。

這將使圖像縮放並佔據imageView可用的完整區域。 (在這種情況下,原始圖像的寬高比將丟失)。現在你會知道imageView佔用的區域的數量。

我想一旦你做到這一點,你可以得出這樣的結論:

  1. 在第一次運行,如果您設置的RelativeLayout爲黑色的背景下,將不可見,因爲ImageView的佔據了整個區域沒有留下任何缺口。

  2. 在第二次運行的圖像將覆蓋整個高度和寬度,雖然縱橫比已丟失。因此,這種確定進行的ImageView不覆蓋寬度和高度,沒有剩餘空間,其對圖像的長寬比即問題

如果你在一個不同的結果到達乾脆請告知,我們可以工作了

編輯:

請不要刪除您已經給了ImageView的太

+0

當我將相對佈局的背景顏色設置爲黑色時,我會看到黑色部分。所以它是可見的! – user2426316

+0

@ user2426316你可以設置你的圖像視圖的背景顏色爲白色,並看到結果 – pvn

+0

然後沒有任何反應。但是這是因爲圖像被設置爲wrap_content – user2426316

36

我有確切的問題的墊襯。掙扎了一段時間後,我解決它通過執行此

** https://stackoverflow.com/a/22144391/2405473

,並添加以下到我的程序

android:adjustViewBounds="true" 

它完美

+0

謝謝你:)這節省了我很多時間 –

+0

YEp它完美的工作..謝謝YOu非常多 –

+0

非常感謝你:)) – user7176550

相關問題