首页 > 代码库 > Xamarin开发笔记—设备类&第三方弹窗的使用和注意事项

Xamarin开发笔记—设备类&第三方弹窗的使用和注意事项

一、设备类是Xamarin重要开发组成部分,下面介绍一下设备类的主要用法:

//唤醒打电话Device.OpenUri(new Uri("tel:180xxxxxxxx"));//打开网页Device.OpenUri(new Uri("http://vipstone.cnblogs.com/"));//判断当前运行平台Device.RuntimePlatform => Device.iOS, Device.Android, Device.WinPhone//设备类型平板、手机、桌面Device.Idiom => TargetIdiom.Phone, TargetIdiom.Tablet, TargetIdiom.Desktop//计数器延迟执行Device.StartTimer (new TimeSpan (0, 0, 60), () => {  // do something every 60 seconds  return true; // runs again, or false to stop});

更多Device相关信息请访问:https://developer.xamarin.com/guides/xamarin-forms/platform-features/device/

二、第三方弹窗,模态窗口

先看效果图:技术分享

模态窗口git地址:https://github.com/rotorgames/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"             x:Class="ywgoapp.Pages.Upgrade.UpgradePrompt"             xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup">    <StackLayout VerticalOptions="Center" WidthRequest="290" HorizontalOptions="Center" Spacing="0">        <AbsoluteLayout VerticalOptions="Start">            <Image Source="upgrade_bgtop.png" WidthRequest="290" AbsoluteLayout.LayoutFlags="PositionProportional" AbsoluteLayout.LayoutBounds="0,0"></Image>            <Label x:Name="lb_version" Text="版本升级" AbsoluteLayout.LayoutFlags="XProportional" AbsoluteLayout.LayoutBounds="0.5,74" FontSize="16" TextColor="White"></Label>            <Image x:Name="img_close" IsVisible="False" Source="close3.png" HeightRequest="24" WidthRequest="24" AbsoluteLayout.LayoutFlags="XProportional" AbsoluteLayout.LayoutBounds=".96,52">                <Image.GestureRecognizers>                    <TapGestureRecognizer Tapped="OnCloseTap"></TapGestureRecognizer>                </Image.GestureRecognizers>            </Image>        </AbsoluteLayout>        <ScrollView Padding="30,20" MinimumHeightRequest="160" BackgroundColor="White">            <Label x:Name="lb_content" Text="" FontSize="12"></Label>        </ScrollView>        <StackLayout Padding="50,0,50,10" BackgroundColor="White">            <Button Text="立即升级" BackgroundColor="#4BC1D2" TextColor="White" Clicked="Button_Clicked">            </Button>        </StackLayout>        <StackLayout Spacing="0">            <Image Source="upgrade_bgbottom.png" WidthRequest="290" Aspect="AspectFill"></Image>        </StackLayout>    </StackLayout></pages:PopupPage>

调用代码:

this.Navigation.PushPopupAsync(new UpgradePrompt());

弹窗要注意的点:

1.不想点击任何区域都消失的话,需要重新OnBackgroundClicked事件:return false;

2.手动关闭窗体:PopupNavigation.PopAsync();

 

Xamarin开发笔记—设备类&第三方弹窗的使用和注意事项