2017-06-20 3 views
-2

Ich habe ein bisschen ein Problem, hier bekam (wie Sie wahrscheinlich könnte Abbildung ...: D)Android; xamarin: LayoutParams werden ignoriert ...?

Dies ist der Code in Frage:

var imageView = new ImageView(context); 

    param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); 
    imageView.LayoutParameters = param; 

    imageView.SetImageResource(treeCatalog[position].imageId); 

    var viewPager = container.JavaCast<ViewPager>(); 
    viewPager.AddView(imageView, param); 
    return imageView; 

So, wie Sie sehen können, ich habe eine imageView, die ich programmatisch anpassen muss. Ich habe dann LayoutParams gesetzt und sie (2x!) An den ImageView übergeben. Wie auch immer ich sie einstelle - nichts passiert. Das ImageView ist immer noch das gleiche wie zuvor. Das treibt mich verrückt.

Irgendwelche Hilfe?

DANKE!

+0

Ihre Beschreibung und Code keinen Sinn machen .... – Taier

Antwort

0

Basierend auf Ihren Code viewPager.AddView(imageView, param);, möchten Sie Bild zu Ihrem ViewPager hinzufügen möchten, dann sollte die LayoutParamsViewPager.LayoutParams sein, die Ansichten zu einem ViewPager hinzugefügt zugeführt werden sollte.

Aber Ich glaube nicht, stellen Sie die LayoutParams von ImageView hier sollte Ihr Problem beheben, ich denke, dass Sie das ganze Stück von ViewPager mit Bild füllen möchten. Dann müssen Sie das Bild strecken.

So können Sie versuchen, Ihren Code wie folgt zu ändern:

var imageView = new ImageView(context); 
imageView.SetImageResource(treeCatalog[position].imageId); 

imageView.SetScaleType(ScaleType.FitXy); 

// Add the image to the ViewPager: 
var viewPager = container.JavaCast<ViewPager>(); 
viewPager.AddView(imageView); 
return imageView; 
Verwandte Themen