rksoftware

Visual Studio とか C# とかが好きです

Xamarin Forms で進捗バーを表示する

Xamarin.Forms で進捗状況を表示したい場合、ProgressBar といコントロールが用意されています。
まず最初にコードを書いて動かしてみます。

■ コード

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="App1Progress.MainPage">

    <StackLayout VerticalOptions="Center">
        <Label Text="Welcome to Xamarin.Forms!" 
           HorizontalOptions="Center"/>
        <ActivityIndicator IsRunning="True"/>
        <ActivityIndicator IsRunning="True" Color="LightBlue" BackgroundColor="Black" HorizontalOptions="Center"/>
        <ProgressBar Progress="0"/>
        <ProgressBar Progress="0.6"/>
        <ProgressBar Progress="1.0"/>
    </StackLayout>

</ContentPage>

※コードビハインドはありません。

■ ActivityIndicator

進捗バーを表示する、と言いながらも最初の解説は、所謂ぐるぐるです。
進捗の度合いを取得できない処理の場合に最適な表現を実現するコントロールです。

  • IsRunning プロパティ
    True に設定するとグルグルします。False の場合は表示されません。デフォルトは False です。

  • Color プロパティ
    グルグルの色を設定できます。デフォルトの色だと、背景の色と混ざって見えにくいことがあるので状況によって適した色を設定してください。

  • BackgroundColor プロパティ
    背景色を設定できます。背景色を設定しておくと、画面の背景色と混ざって見えにくいということが起こらなくなります。

■ ProgressBar

進捗バーです。
WPF や UWP では、最大値と現在値の二つのプロパティの比率で進捗を設定しましたが
今回は Progress プロパティ一つのシンプル構成です。

  • Progress プロパティ
    進捗の状況を 0 ~ 1 の数値で設定します。例えば 60% の進捗の場合は、0.6 と設定します。