2016-08-12 25 views
0

Ich möchte ein Hintergrundbild unter einem Avatar, der im Kreis ist. Ich kann diesem Code eine Hintergrundfarbe hinzufügen, aber ich muss ein Bild hinzufügen. Wie kann ich das in meinem Code umsetzen?Hintergrundbild unter Avatar Xamarin.Forms

var avatarImage = new CircleImage 
{ 
    Aspect = Aspect.AspectFill, 
    WidthRequest = Device.OnPlatform(220, 220, 300), 
    HeightRequest = Device.OnPlatform(220, 220, 300), 
    Source = ImageSource.FromFile("about_background.png"), 
}; 

avatarLayout.Children.Add(avatarImage); 

Hintergrund wie auf diesem Bild: example image

+0

Ist 'avatarLayout' ein' StackLayout'? –

+0

@EgorGromadskiy Ja, du hast Recht. –

Antwort

1

Etwas, wie das?

public Page1() 
    { 
     InitializeComponent(); 

     var stack = new StackLayout(); 

     var grid = new Grid(); 
     grid.HeightRequest = 400; 
     grid.BackgroundColor = Color.Red; 

     grid.RowDefinitions.Add(new RowDefinition()); 
     grid.RowDefinitions.Add(new RowDefinition()); 

     var bgrImg = new Image(); 
     bgrImg.Aspect = Aspect.Fill; 
     bgrImg.Source = ImageSource.FromUri(new Uri("https://scontent-waw1-1.xx.fbcdn.net/v/t1.0-9/1609887_238338919678588_860551778_n.jpg?oh=469b60dbef099ca197f088f97e5e1436&oe=5852DA43")); 

     var img = new Image(); 
     img.VerticalOptions = new LayoutOptions(LayoutAlignment.Center, false); 
     img.Source = ImageSource.FromUri(new Uri("https://scontent-waw1-1.xx.fbcdn.net/v/t1.0-9/1622680_238338033012010_860901821_n.jpg?oh=a216ba790ec4f771c7b9488fc819ed80&oe=5814192E")); 

     grid.Children.Add(bgrImg, 0, 0); 
     grid.Children.Add(img); 

     Grid.SetRowSpan(img, 2); 

     stack.Children.Add(grid); 

     Content = stack; 
    } 

Warten Sie einige Zeit, bis das Hintergrundbild geladen ist.

+0

Danke, es ist meine Lösung, du sparst meine Zeit –