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

简介:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//唤醒打电话
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

基本实现核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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>

调用代码:

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

弹窗要注意的点:

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

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

 

Xamarin系列其他推荐 







本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/7064636.html,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
开发工具 Android开发 iOS开发
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
使用vs2019学习xamarin时,创建新程序。使用模拟器真机等测试都报错如下图错误: ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231030-de8ce5fd.png?x-cos-security-token=r4KyZDEowPT0kGTL0LqE8EnwfN1Nzexadb05dcffed3939ff8d7591c528c01706nvpGSE93QwHpZM8NwhJNTZctNRQa0l3KDhEnqj8P7d8t
63 0
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
在Xamarin开发中,UWP环境下无法进入断点调试standard库的问题解决方案
在Xamarin开发中,UWP环境下无法进入断点调试standard库的问题解决方案
63 0
|
Java C# Android开发
.NET(WinCE、WM)开发转Android开发 ——Xamarin和Smobiler对比
WinCE从1995年诞生至今,已有20多年的发展历史,行业成熟方案覆盖范围广,从车载、工控、手持机都有涉及,且方案成熟。 近些年,Android以后来居上的态势,逐渐渗透至各行业领域,硬件手持大厂也把产品线重心向Android手持迁移,基于Android的行业解决方案越来越成熟,WinCE的开发人才流失,在WinCE解决方案上吃老本的企业寻求转型。
|
C#
C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码
原文:C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.
1242 0
|
C#
C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
原文:C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.
1106 0
|
前端开发 C# 数据格式
C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
原文:C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.
1215 0
|
C# Android开发 iOS开发
C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件..很很很很重要..),附源码
原文:C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件..很很很很重要..),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.
1260 0
|
C#
C#使用Xamarin开发可移植移动应用(5.进阶篇显示弹出窗口与通讯中心)附源码
原文:C#使用Xamarin开发可移植移动应用(5.进阶篇显示弹出窗口与通讯中心)附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.
1213 0
|
C# Android开发
C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码
原文:C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.
953 0
|
JSON 前端开发 API
C#使用Xamarin开发可移植移动应用进阶篇(10.综合演练,来一份增删改查CRUD)
原文:C#使用Xamarin开发可移植移动应用进阶篇(10.综合演练,来一份增删改查CRUD) 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.
980 0