2017-04-20 1 views
1

Je crée une application android dans Xamarin avec le framework mvvmcross. J'essaie d'afficher des images du serveur à nos utilisateurs (les images sont des URL). Mais les images refusent d'évoluer pour remplir leur parent. Comment puis-je obtenir le bon ajustement pour ces images? , J'utilise le FillParent sur le tag Width. Mais les images refusent de s'adapter à la taille du conteneur.FFImageloading xamarin android fit pour parent

Ma configuration actuelle

<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" /> 

code ci-dessus crée (désolé pour la chose volume), Comme vous pouvez voir les images ne remplissent pas, ils restent leur taille « originale »

autre activité (même problème ici)

<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

Je n'ai aucune expérience de xamarin mais en natif android nous définissons la propriété scaletype à fitxy, donc je suppose qu'il devrait y avoir la même propriété dans xamarin –

+0

.. merci beaucoup, ne pouvait pas voir la forêt pour les arbres. –

Répondre

0

On dirait que vous voulez fixer la hauteur à 150dp, et fixer la largeur à la largeur du parent. Si tel est le cas, cela peut être fait, mais cela va étirer toute image qui n'est pas le bon format pour commencer.

<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" /> 

(remarque je match_parent depuis fill_parent est deprecated)

Si vous ne voulez pas que votre image pour étirer de manière étrange et vous ne pouvez pas garantir que le rapport d'aspect des images entrantes correspond à celui de votre mise en page, vous devez sélectionner un aspect (largeur ou hauteur) pour dicter la taille de l'autre, de telle sorte que le rapport reste inchangé. Vous pouvez le faire avec les éléments suivants (dans ce cas, vous décidez de la largeur, et le calcul de la hauteur de celle-ci repose sur le rapport d'aspect de l'image):

<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" /> 

Dans presque tous les cas où vous ne pouvez pas garantir le ratio d'aspect de l'image que vous mettez à l'échelle, la deuxième option donne un meilleur résultat que la première.

+0

N'y a-t-il pas un moyen de recadrer/zoomer l'image pour qu'elle corresponde au bon ratio d'aspect pour cette taille de 150 dp? voir l'image ci-dessous http://i.imgur.com/uDAiBVE.jpg –

+0

Oui il y a - utiliser la première option ci-dessus, mais remplacer le "" fitXY "' par "" centre "' –

+0

Ok, c'est quoi Je cherchais ! , merci beaucoup –