2016-10-14 2 views
1

私は、スクロールビューを使用しているXamarinフォームを持っています。 中間にListViewがあるので、上部にアクティビティインジケータを表示しようとしています。 しかし、ユーザーがスクロールすると、読み込みは表示されません。 したがって、私はページを無効にしてポップアップのようにいくつかのz-indexで読み込みを表示するのに助けが必要です。Xamarinフォームを無効にしてアクティビティインジケータを表示

答えて

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を占有しているため、グリッドがここで使用されます(ContentViewの上の例では、ScrollViewはz軸にオーバーレイしています)。 ContentViewはz軸の方が高くなっていますが、後で表示されるまでは目に見えず、ScrollViewの前には表示されません。他のコントロールでは、この両方の領域を占める同じ長方形のトリックは、行IDの複製と同じくらい簡単に動作しません。 – optikos

関連する問題