2017-12-15 27 views
0

한 페이지에서 다른 페이지 (안드로이드 장치 인 xamarin 폼)로 이동 중이며 일부 작업 후 UI에 맵을 추가하고 UI에 맵을 추가하는 동안 UI가 1 초 동안 깜박임을 느낄 수 있습니다. 우리는 제대로 UI에 영향을주지 않고 UI 제대로 페이지로 UI 뷰를 추가하는 방법코드를 통해 UI에 맵을 추가 할 때 잠시 앱이 멈 춥니 다

 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 }); 
} 

에지도를 추가하기 appication

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; 
     } 

의 성능에 영향을주지 않고 페이지에 새보기를 추가 할 수있는 방법 공연?

답변

0
당신은 그리드의 요소를 변경 한 후 기본보기를 할당해야

:

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

나는 내용 만지도를 잘 추가됩니다 다음 뷰의 나머지는 제거됩니다 null로 할 경우를? –

+0

보기 구조가 무엇인지에 따라 다릅니다. mapHolder가 루트 인 예제를 추가했습니다. –

+0

또한 문제가 있습니다. UI에 다른 요소가 있습니다. –