2016-10-14 2 views
1

Scroll View를 사용하는 Xamarin Form이 있습니다. 중간에 ListView가있는 경우 맨 위에 활동 표시기를 표시하려고합니다. 그러나 사용자가 아래로 스크롤하면로드가 표시되지 않습니다. 그래서, 페이지를 비활성화하고 팝업과 같이 일부 Z- 인덱스에서로드를 보여주는 데 도움이 필요합니다.Xamarin Form 사용 안함 및 Activity Indicator 표시

답변

6

화면이로드되는 동안 오버레이를 원할 경우 이렇게 할 수 있습니다.

<Grid> 

    <ScrollView> 
     <!-- Insert your page content in here --> 
    </ScrollView> 

    <ContentView IsVisible="false" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"> 
     <ActivityIndicator IsRunning="false" /> 
    </ContentView> 

</Grid> 

ContentView를 IsVisible = "true"로 설정하면 페이지 상단에 오버레이됩니다. 회색 아웃 효과를 제공해야하는 경우 ContentView에서 배경색과 불투명도를 설정할 수 있습니다.

또는 당신은 당신이 항상 스크롤 뷰 위의 활동 표시를 사용자가 여전히 스크롤 할 수 있도록 이러한 방법으로 비슷한 방법을 사용하고

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 

    <ActivityIndicator Grid.Row="0" /> 

    <ScrollView Grid.Row="1"> 

    </ScrollView> 
</Grid> 

을 가질 수 있습니다.

+0

답변 해 주셔서 감사합니다. 이것을 시도 할 것이다. –

+0

위대한 작품! 'Grid '를 사용하는 이유를 알려주시겠습니까? – Curiousity

+0

@Curiousity, ScrollView와 ContentView가 모두 동일한 크기의 영역 사각형으로 행 0을 차지하기 때문에 Grid가 ContentView에서 z 축의 ScrollView를 오버레이하는 상위 예제에서 사용됩니다. ContentView는 z 축에서 더 높지만 처음에 보이지 않게되어 나중에 볼 수있게되고 ScrollView 앞에 표시되지 않습니다. 다른 컨트롤을 사용하면 행 ID를 복제하는 것만 큼 쉽게이 영역 점유 사각형 영역 트릭 작업을 쉽게 수행 할 수 없습니다. – optikos