2014-07-24 42 views
1

我試圖使用imageView作爲listView單元格的背景。我想要顯示的圖片大於單元格的大小。我無法弄清楚如何使imageView匹配單元格的大小,並防止它被拉伸到圖片的大小。ImageView作爲單元格中的背景

加分:由於我的圖片只有一部分會顯示,是否可以移動imageView中的圖片以便中心顯示?

+1

爲什麼不使用圖片作爲背景細胞爲什麼imageview.Do它服務於任何特殊用途? –

+0

只需使用'ImageView'作爲單元格的第一個元素作爲'RelativeLayout',並將'width'和'height'賦予'match_parent'。 – luiscosta

+0

@Pramod Yadav背景圖片將始終伸展以適應視圖。我想保持原始圖片比例。 – SegFault

回答

3

您可以使用:

<ImageView 
    ... 
    android:id="@+id/photo" 
    android:scaleType="centerCrop" 
    android:layout_alignBottom="@+id/cell" 
    android:layout_alignTop="@+id/cell" 
    .../> 

有你的ImageView圖像居中,即使你的形象是不是你的大。

要使用imageView作爲背景圖片,爲什麼不使用帶有ImageView的RelativeLayout,然後在LinearLayout中使用單元格的內容?

<RelativeLayout> 

<ImageView 
     ... 
     android:id="@+id/photo" 
     android:scaleType="centerCrop" 
     android:layout_alignBottom="@+id/cell" 
     android:layout_alignTop="@+id/cell" 
     .../> 

<LinearLayout 
android:id="@+id/cell> 
//Content of your cell 
</LinearLayout> 

</RelativeLayout> 
+0

+1,因爲使用了centerCrop,但是在應用您的解決方案時,單元格仍然調整爲圖片大小。我希望imageView「剪切」圖片並匹配我的細胞大小。 – SegFault

+0

查看編輯答案 – Vte

+0

它的工作原理。其實我使用的是自定義的ImageView,並且搞亂了一些對齊功能。看到你的答案有助於看到有什麼錯誤。謝謝! – SegFault

1
android:scaleType="centerCrop"