2017-12-15 6 views
0

Ich navigiere von einer Seite zu einer anderen (Xamarin Formen Android-Gerät), ich bin eine Karte zu UI nach einigen Operationen und beim Hinzufügen der Karte zu UI, ich kann fühlen, dass die Benutzeroberfläche für eine Sekunde flackert. Wie können wir richtig eine neue Sicht auf die Seite hinzugefügt werden, ohne die Leistung des appication zu beeinflussen Karte, um die UIApp erstarrt für eine Sekunde beim Hinzufügen von Karte zu UI durch Code hinter

public Constructor(string _jobOrderId, JobOrder jobOrderDetails) 
     { 
      InitializeComponent(); 
      NavigationPage.SetHasNavigationBar(this, false); 
      vm = new OrderAssignmentDetailsVM(); 
      this.BindingContext = vm; 

     } 


protected override void OnAppearing() 
     { 
      base.OnAppearing(); 
      ClickEvent(); 
      SetUiElements(); 
      GoogleMapData(); 
      SetMaptoUI(); 
      List.ItemsSource = vm.OrderStatusList; 
     } 

Hinzufügen

 private void SetMaptoUI() 
      { 
       //add map to UI 
       mapHolder.Children.Add(map); 
       mapHolder.Children.Add(new Image() { Source = "redpin.png", HeightRequest = 50, WidthRequest = 33, Margin = Device.OnPlatform(new Thickness(0, 0, 0, 60), new Thickness(0, 0, 0, 25), 0), 
        VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center }); 
} 

Wie man richtig UI Blick auf die Seite hinzuzufügen, ohne die Benutzeroberfläche zu beeinflussen Performance?

Antwort

0

Sie haben Ihre Hauptansicht zuweisen, nachdem Sie Elemente in Raster ändern:

Content = null; //now mapHolder is detached from your main view hierarchy 

mapHolder.Children.Add(map); 
    mapHolder.Children.Add(new Image() { Source = "redpin.png", HeightRequest = 50, WidthRequest = 33, Margin = Device.OnPlatform(new Thickness(0, 0, 0, 60), new Thickness(0, 0, 0, 25), 0), 
     VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center }); 

Content = mapHolder; 
+0

wenn ich Inhalte dann Rest der Ansichten entfernt und nur Karte direkt hinzugefügt werden wird, auf null zu machen? –

+0

Es hängt davon ab, was Ihre Sichtstruktur ist. Ich habe ein Beispiel hinzugefügt, wo MapHolder der Stamm ist. –

+0

das ist auch ein Problem, ich habe andere Elemente in der UI –

Verwandte Themen