2016-04-08 258 views
1

我正在嘗試使ImageView和TextView組成一個簡單的LinearLayout。根據高度調整ImageView寬度

ImageView應該縮放以匹配LinearLayout高度,並且不會因此丟失比例。

這是我目前擁有的xml。

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <ImageView 
     android:id="@+id/logo" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:adjustViewBounds="true" 
     android:background="#CCCCCC" 
     android:scaleType="fitCenter" 
     android:src="@drawable/strip" /> 

    <TextView 
     android:id="@+id/logoText" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ellipsize="marquee" 
     android:singleLine="true" 
     android:text="what an awesome text" 
     android:textSize="18sp" /> 

</LinearLayout> 

使用上面的XML,該結果是ImageView的高度確實會匹配的LinearLayout高度和它的寬度將是一樣的SRC圖像,但呈現的圖像將正確和中心的規模,但這個離開ImageView本身佔據了佈局寬度的90%,因爲它是src圖像的寬度,所以TextView沒有空間。

我只是想縮放ImageView以匹配父母的身高,它的寬度應該與按比例縮放它一樣多。

+0

嘗試將scaleType更改爲cropCenter –

+0

centerCrop將匹配父級的高度,寬度問題仍然存在,圖像從中間裁剪以適合視圖。我需要適應視圖,而不是裁剪圖像。 – HelderMPinhal

+1

將圖像視圖置於線性佈局中。只是圖像視圖。沒有其他的。 –

回答

1

在圖像視圖中添加線性佈局。只是圖像視圖,沒有別的。 :)希望它可以幫助

編輯1:正如許多其他的答案中提到使用layout_weight屬性也將有助於解決這個問題。

0

正如@KISHORE_ZE所說,這解決了這個問題。

「把攝像畫面中的線性佈局,只是攝像畫面。沒有別的。」

+0

您能否將我的標記標記爲正確?選中標記。謝謝? –

+0

你能解釋它到底如何解決這個問題嗎?如果您需要其他圖像以相同的佈局顯示,而圖像的尺寸是其兩倍,那該怎麼辦?三倍大?它會如何表現?我沒有檢查這個解決方案,但我有強烈的感覺,它只能解決這個具有一定大小的特定圖像的問題,甚至更重要的是,在一定的屏幕密度上。嘗試設置一些更大的圖像到你的ImageView,看看它的行爲如何。 –

1

在imageview的增加重量1,因此將有TextView的

1

空間正如我在評論中提及在您引用KISHORE_ZE的回覆帖子下,它似乎只對特定尺寸的圖像以及特定的屏幕密度和分辨率有幫助。所以雖然它在目前的設備上看起來是可以接受的,但它可能是一個混亂的另一個。我建議你找出你想要用於圖像的佈局的哪一部分,並使用ImageViewTextViewandroid:weight屬性來達到想要的效果。

+0

當然沒問題。但我認爲把它放在一個線性佈局將起作用。我知道它與列表視圖一起工作。所以我有一種感覺,它會適用於所有圖像。不過,正如我所說,我沒有測試過它。 –

相關問題