伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 教育考试 » 文章详细 订阅RssFeed

Xamarin.Forms弹出对话框插件

来源:本站原创 浏览:82次 时间:2022-12-20
1.实现效果



弹出动画 

2.业务场景

主窗口弹出登录或者其他小窗口时使用

3.编码实现3.1 添加Nuget库

创建名为“App5”的Xamarin.Forms项目,添加Rg.Plugins.PopupNuget库:弹出框由该插件提供,看下图1.31M下载量,请放心使用。



Rg.Plugins.PopupNuget插件 

3.2 工程结构

数个文件变动:

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

  2. 共享库中的LoginPage:弹出的登录对话框

  3. MainActivity.cs:Android中需要注册上面的插件

  4. AppDelegate.cs:iOS中需要注册上面的插件

3.3 共享库中的MainPage

简单的一个按钮控件,点击模拟触发弹出登录窗口

<?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>

后台弹出登录窗口

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

3.4 共享库中的LoginPage

登录窗口,引入弹出插件Rg.Plugins.Popup,设置弹出框动画

<?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="账号" 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="没有账号?请联系管理员。" HorizontalOptions="Center" Margin="0,10,0,0" FontSize="12"/>
       </Grid>
   </Grid>

</pages:PopupPage>

3.6 Android项目中的MainActivity.cs



注册弹出插件 

3.7 iOS项目中的AppDelegate.cs



  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net