溫馨提示×

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

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

Xamarin.Forms彈出對(duì)話框插件怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2022-05-23 15:54:27 來源:億速云 閱讀:255 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Xamarin.Forms彈出對(duì)話框插件怎么實(shí)現(xiàn)”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Xamarin.Forms彈出對(duì)話框插件怎么實(shí)現(xiàn)”文章能幫助大家解決問題。

1.實(shí)現(xiàn)效果

Xamarin.Forms彈出對(duì)話框插件怎么實(shí)現(xiàn)

彈出動(dòng)畫 

2.業(yè)務(wù)場(chǎng)景

主窗口彈出登錄或者其他小窗口時(shí)使用

3.編碼實(shí)現(xiàn)

3.1 添加Nuget庫

創(chuàng)建名為“App5”的Xamarin.Forms項(xiàng)目,添加Rg.Plugins.PopupNuget庫:彈出框由該插件提供,看下圖1.31M下載量,請(qǐng)放心使用。

Xamarin.Forms彈出對(duì)話框插件怎么實(shí)現(xiàn)

Rg.Plugins.PopupNuget插件 

3.2 工程結(jié)構(gòu)

數(shù)個(gè)文件變動(dòng):

  1. 共享庫中的MainPage:主窗口

  2. 共享庫中的LoginPage:彈出的登錄對(duì)話框

  3. MainActivity.cs:Android中需要注冊(cè)上面的插件

  4. AppDelegate.cs:iOS中需要注冊(cè)上面的插件

3.3 共享庫中的MainPage

簡(jiǎn)單的一個(gè)按鈕控件,點(diǎn)擊模擬觸發(fā)彈出登錄窗口

<?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:d="http://xamarin.com/schemas/2014/forms/design"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            x:Class="App5.MainPage">

   <StackLayout Spacing="18"
                VerticalOptions="Center">
       <Button Clicked="ShowPopup"
               Text="彈出窗體" />
   </StackLayout>

</ContentPage>

后臺(tái)彈出登錄窗口

private void ShowPopup(object o, EventArgs e)
{
   PopupNavigation.Instance.PushAsync(new LoginPage());
}


3.4 共享庫中的LoginPage

登錄窗口,引入彈出插件Rg.Plugins.Popup,設(shè)置彈出框動(dòng)畫

<?xml version="1.0" encoding="utf-8" ?>
<pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms"
   xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
   xmlns:d="http://xamarin.com/schemas/2014/forms/design"
   xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
   mc:Ignorable="d"
       
   xmlns:animations="clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"
   xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
   x:Class="App5.Views.LoginPage">

   <pages:PopupPage.Animation>
       <animations:ScaleAnimation DurationIn="400"
                                  DurationOut="300"
                                  EasingIn="SinOut"
                                  EasingOut="SinIn"
                                  HasBackgroundAnimation="True"
                                  PositionIn="Center"
                                  PositionOut="Center"
                                  ScaleIn="1.2"
                                  ScaleOut="0.8" />
   </pages:PopupPage.Animation>

   <Grid BackgroundColor="White" VerticalOptions="Center" Margin="30" HeightRequest="350">
       <Grid.RowDefinitions>
           <RowDefinition Height="80"/>
           <RowDefinition Height="*"/>
           <RowDefinition Height="50"/>
       </Grid.RowDefinitions>
       <StackLayout Orientation="Horizontal" HorizontalOptions="Center" Margin="0,10,0,0">
           <Label Text="選擇語言"/>
           <Image Source="down_arrow.png" Opacity="0.6" VerticalOptions="Start" Margin="0,3,0,0"/>
       </StackLayout>
       <Grid Grid.Row="1" Margin="20,0,20,0">
           <Grid.RowDefinitions>
               <RowDefinition Height="*"/>
               <RowDefinition Height="50"/>
               <RowDefinition Height="50"/>
               <RowDefinition Height="Auto"/>
               <RowDefinition Height="40"/>
               <RowDefinition Height="40"/>
               <RowDefinition Height="Auto"/>
               <RowDefinition Height="*"/>
           </Grid.RowDefinitions>
           <Image Source="person.png" HeightRequest="70" VerticalOptions="End"/>
           <Entry Grid.Row="1" Placeholder="賬號(hào)" PlaceholderColor="#bababa" FontSize="16"/>
           <Entry Grid.Row="2" Placeholder="密碼" PlaceholderColor="#bababa" FontSize="16"/>
           <Button Grid.Row="3" Text="登錄" BackgroundColor="#3897f0" TextColor="White" HeightRequest="50" VerticalOptions="Start"/>
           <Label Grid.Row="4" Text="沒有賬號(hào)?請(qǐng)聯(lián)系管理員。" HorizontalOptions="Center" Margin="0,10,0,0" FontSize="12"/>
       </Grid>
   </Grid>

</pages:PopupPage>


3.6 Android項(xiàng)目中的MainActivity.cs

Xamarin.Forms彈出對(duì)話框插件怎么實(shí)現(xiàn)

注冊(cè)彈出插件 

3.7 iOS項(xiàng)目中的AppDelegate.cs

Xamarin.Forms彈出對(duì)話框插件怎么實(shí)現(xiàn)

關(guān)于“Xamarin.Forms彈出對(duì)話框插件怎么實(shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

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

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

AI