2017-04-20 103 views
1

我正在用mvvmcross框架在Xamarin中創建一個android應用程序。FFImageloading xamarin android fit to parent

我試圖從服務器向我們的用戶顯示圖片(圖片是Url)。但這些圖片拒絕按比例填充父母。 如何才能實現這些圖像的正確配合? ,我使用寬度標籤上的FillParent。但圖像拒絕縮放到容器的大小。

我的當前設置

<FFImageLoading.Cross.MvxImageLoadingView 
    android:id="@+id/my_plannymap_listitem_title_picture" 
    android:layout_width="fill_parent" 
    android:layout_height="150dp" 
    local:MvxBind="DataLocationUri ImageUrl; Click OpenDetailCommand" /> 

上面的代碼創建(抱歉體積的東西),正如你所看到的圖像不補,他們仍然是他們的「原始」大小

其他活動(這裏同樣的問題)

<FFImageLoading.Cross.MvxImageLoadingView 
      android:layout_width="fill_parent" 
      android:layout_height="150dp" 
      android:scaleType="fitCenter" 
      android:id="@+id/overview_image" 
      android:background="#580AB0" 
      local:MvxBind="DataLocationUri ImageUrl" 
      TransparencyEnabled="false" 
      DownSampleToFit="true" /> 
+0

我沒有xamarin的任何經驗,但在原生的Android,我們設置scaleType屬性的來fitxy,所以我想應該有xamarin –

+0

相同的屬性..太感謝你了,不能只見樹木不見森林。 –

回答

0

這聽起來像你要修復的高度150dp,並固定寬度父寬度。如果是這種情況,可以完成,但它會拉伸任何不正確的高寬比的圖像。

<FFImageLoading.Cross.MvxImageLoadingView 
    android:id="@+id/my_plannymap_listitem_title_picture" 
    android:layout_width="match_parent" 
    android:layout_height="150dp" 
    android:scaleType="fitXY" 
    local:MvxBind="DataLocationUri ImageUrl; Click OpenDetailCommand" /> 

(注意我用match_parent因爲fill_parentdeprecated

如果你不想讓你的圖像在一個陌生的方式延伸,你不能保證進入的圖像的長寬比匹配您需要選擇一個方面(寬度或高度)來指定另一個方面的大小,以保持比例不變。 (從它基於圖像的長寬比在這種情況下,你決定的寬度和高度測量),你可以做到這一點與以下:

<FFImageLoading.Cross.MvxImageLoadingView 
    android:id="@+id/my_plannymap_listitem_title_picture" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    local:MvxBind="DataLocationUri ImageUrl; Click OpenDetailCommand" /> 

在幾乎所有情況下,你不能保證長寬比的縮放比例,第二個選項比第一個效果更好。

+0

難道我沒有辦法裁剪/縮放圖像以匹配150dp大小的高度的正確縱橫比嗎?見下文 http://i.imgur.com/uDAiBVE.jpg –

+0

是有圖像 - 使用第一個選項之上,但更換'「fitXY」'和'「中心」' –

+0

好吧,這是什麼我在尋找 ! ,非常感謝 –