溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Xamarin.Forms中如何控制活動指示器的顯示隱藏

發(fā)布時間:2021-12-21 11:58:40 來源:億速云 閱讀:219 作者:小新 欄目:互聯(lián)網(wǎng)科技

小編給大家分享一下Xamarin.Forms中如何控制活動指示器的顯示隱藏,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Xamarin.Forms中活動指示器的顯示隱藏

開發(fā)者除了可以在XAML中使用IsRunning屬性控制指示器的顯示隱藏外,還可以在代碼隱藏文件中使用IsRunning屬性控制指示器的顯示隱藏。這時,首先需要在XAML文件中,使用x:Name屬性為活動指示器定義一個名稱,然后在代碼隱藏文件中通過定義的名稱對IsRunning屬性進(jìn)行設(shè)置即可。

【示例12-2:ActivityIndicatorIsRunningTwo】以下將在代碼隱藏文件中控制活動指示器的顯示和隱藏。具體的操作步驟如下:

(1)MainPage.xaml文件,編寫代碼,對內(nèi)容頁面進(jìn)行布局。代碼如下:

<?xml version="1.0" encoding="utf-8" ?>

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"

             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             xmlns:local="clr-namespace:ActivityIndicatorIsRunningTwo"

             x:Class="ActivityIndicatorIsRunningTwo.MainPage">

  <StackLayout Spacing="55"

               VerticalOptions="Center">

    <ActivityIndicator x:Name="activityIndicator" />

    <StackLayout Spacing="10">

      <Button x:Name="showButton"

              Text="ShowActivityIndicator"

              Clicked="OnShowActivityIndicator"/>

      <Button x:Name="hideButton"

              IsEnabled="False"

              Text="HideActivityIndicator"

              Clicked="OnHideActivityIndicator"/>

    </StackLayout>

  </StackLayout>

</ContentPage>

(2)打開MainPage.xaml.cs文件,編寫代碼,實現(xiàn)通過按鈕控制活動指示器的顯示和隱藏功能。代碼如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using Xamarin.Forms;

namespace ActivityIndicatorIsRunningTwo

{

    public partial class MainPage : ContentPage

    {

        public MainPage()

        {

            InitializeComponent();

        }

        //顯示活動指示器

        void OnShowActivityIndicator(object sender, EventArgs args)

        {

            activityIndicator.IsRunning = true;

            showButton.IsEnabled = false;

            hideButton.IsEnabled = true;

        }

        //隱藏活動指示器

        void OnHideActivityIndicator(object sender, EventArgs args)

        {

            activityIndicator.IsRunning = false;

            showButton.IsEnabled = true;

            hideButton.IsEnabled = false;

        }

    }

}

此時運(yùn)行程序,會看到如圖12.4~12.6所示的效果。當(dāng)開發(fā)者輕拍ShowActivityIndicator按鈕,會看到活動指示器顯示了,并且進(jìn)行活動,效果類似于圖12.7~12.9所示。

Xamarin.Forms中如何控制活動指示器的顯示隱藏

圖12.4 圖12.7   Android           圖12.5  圖12.8  iOS       圖12.6 圖12.9   Windows Phone

開發(fā)者除了可以為ActivityIndicator定義的IsRunning屬性直接賦布爾值外,還可以通過數(shù)據(jù)綁定的方式為該屬性賦值,此時綁定的數(shù)據(jù)也一樣是返回布爾類型的。

【示例12-3:ActivityIndicatorIsRunningThree】以下將實現(xiàn)加載網(wǎng)絡(luò)圖像的功能。代碼如下:

<?xml version="1.0" encoding="utf-8" ?>

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"

             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             xmlns:local="clr-namespace:ActivityIndicatorIsRunningThree"

             x:Class="ActivityIndicatorIsRunningThree.MainPage">

  <StackLayout>

    <Image x:Name="myImage"

Source="https://timgsa.baidu.com/timg?image&amp;quality=80&amp;size=b9999_10000&amp;sec=1487155536489&amp;di=cc531038dafb3b75d689fdd47a5a775c&amp;imgtype=0&amp;src=http%3A%2F%2Fpic1.win4000.com%2Fwallpaper%2F1%2F57973400dbbf3.jpg"

         HeightRequest="480"

         WidthRequest="300"

         HorizontalOptions="Center"/>

    <ActivityIndicator x:Name="indicator"

                       BindingContext="{x:Reference Name=myImage}"

                       IsRunning="{Binding Path=IsLoading}"/>

  </StackLayout>

</ContentPage>

在此代碼中,我們將ActivityIndicator屬性綁定到了Image的IsLoading屬性上。此時運(yùn)行程序,會看到如圖12.10~12.12所示的效果。當(dāng)圖像加載完成后,會看到類似于圖12.13~12.15所示的效果。

Xamarin.Forms中如何控制活動指示器的顯示隱藏

圖12.10圖12.13  Android          圖12.11 圖12.14   iOS     圖12.12 圖12.15 Windows Phone

以上是“Xamarin.Forms中如何控制活動指示器的顯示隱藏”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI