Xamarin.Forms弹出对话框插件
生活随笔
收集整理的這篇文章主要介紹了
Xamarin.Forms弹出对话框插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
微信公眾號:Dotnet9,網站:Dotnet9,問題或建議,請網站留言;如果您覺得Dotnet9對您有幫助,歡迎贊賞。
Dotnet9.com
內容目錄
實現效果
業務場景
編碼實現
本文參考
源碼下載
1.實現效果
彈出動畫?
2.業務場景
主窗口彈出登錄或者其他小窗口時使用
3.編碼實現
3.1 添加Nuget庫
創建名為“App5”的Xamarin.Forms項目,添加Rg.Plugins.PopupNuget庫:彈出框由該插件提供,看下圖1.31M下載量,請放心使用。
Rg.Plugins.PopupNuget插件?
3.2 工程結構
數個文件變動:
共享庫中的MainPage:主窗口
共享庫中的LoginPage:彈出的登錄對話框
MainActivity.cs:Android中需要注冊上面的插件
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
注冊彈出插件?
4.本文參考
Houssem Dellai 大神的學習視頻:Popup in Xamarin Forms
5.代碼下載
文中代碼已經全部提供,參考Github源碼:Xamarin-Forms-Popup-Demo
總結
以上是生活随笔為你收集整理的Xamarin.Forms弹出对话框插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019年Linux与开源如何统治技术圈
- 下一篇: CAP 3.0 版本正式发布