一、设备类是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 secondsreturn 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系列其他推荐 


  • 《Xamarin开发笔记—WebView双项事件调用》
  • 《Xamarin开发笔记—百度在线语音合成》
  • 《Xamarin开发笔记—设备类&第三方弹窗的使用和注意事项》
如果本文对你有所帮助,请打赏——1元就足够感动我:)

联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone

关注公众号:

作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。

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

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

    一.设备类是Xamarin重要开发组成部分,下面介绍一下设备类的主要用法: //唤醒打电话 Device.OpenUri(new Uri("tel:180xxxxxxxx")); ...

  2. Xamarin开发笔记—百度在线语音合成

    续<是时候开始用C#快速开发移动应用了>刷屏之后,把C#开发移动应用的技术 => Xamarin,在这里和大家做一个分享! 语音合成:也被称为文本转换技术(TTS),它是将计算机自己 ...

  3. Hololens2开发 登录设备网页第三方观看忘记密码怎么办

    Hololens2开发 登录设备网页第三方观看忘记密码怎么办 针对比较方便的微软自带miscroftHoloLens 针对比较方便的微软自带miscroftHoloLens 设备端查询ip地址,电脑网 ...

  4. 【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类

    本系列文章由zhmxy555编写,转载请注明出处. http://qianmo.blog.51cto.com/5127279/875711 作者:毛星云 邮箱: happylifemxy@qq.com ...

  5. Android开发笔记(五十五)手机设备基本操作

    获取手机基本信息 手机的基本信息分两类,一类是与电话有关的信息,另一类是设备自身的信息. 与电话有关的信息可由TelephonyManager类获得,常用的参数与对应的方法如下所示: 网络运营商名称 ...

  6. Android开发笔记(三十八)列表类视图

    AdapterView AdapterView顾名思义是适配器视图,Spinner.ListView和GridView都间接继承自AdapterView,这三个视图都存在多个元素并排展示的情况,所以需 ...

  7. 张高兴的 Xamarin.Forms 开发笔记:为 Android 与 iOS 引入 UWP 风格的汉堡菜单 ( MasterDetailPage )...

    所谓 UWP 样式的汉堡菜单,我曾在"张高兴的 UWP 开发笔记:汉堡菜单进阶"里说过,也就是使用 Segoe MDL2 Assets 字体作为左侧 Icon,并且左侧使用填充颜色 ...

  8. Android开发笔记(一百二十一)列表弹窗PopupMenu和ListPopupWindow

    PopupMenu 基本用法 PopupMenu是种显示位置不固定的弹出菜单,因为它显示在参照控件下方,所以展示位置随着参照控件的位置变化而变化.而其他几种菜单的显示位置都是固定的,比如说选项菜单Op ...

  9. Android开发笔记(八十六)几个特殊的类

    接口interface interface是一些功能的集合,但它只定义了对象必须实现的成员,而不包含成员的实现代码,成员的具体代码由实现接口的类提供.Android对接口的使用场景主要有三类:事件监听 ...

最新文章

  1. java 流的概念_举例讲解Java中的Stream流概念
  2. python py生成及调用pyc文件
  3. Zabbix的snmp监控
  4. WCF 第五章 行为 以属性为服务操作行为暴露一个参数检测器
  5. 从入门到入土:[SEED-Lab]MD5碰撞试验|MD5collgen实验|linux|Ubuntu|MD5 Collision Attack Lab|详细讲解
  6. IE打开xml文件弹出下载对话框
  7. SCJP刷题学习笔记(Part six)
  8. 解决npm下载包慢的方法
  9. 路由端口的限制与破解
  10. EnableQ在企业员工满意度调查上的贡献
  11. Log4j漏洞及解决方案,亲测
  12. 系统加速精灵:全面提升CPU性能,让你的系统跑的更快!
  13. Jpress部署教程
  14. 微软输入法简体与繁体切换快捷键
  15. JavaScript基础知识快速预览
  16. 开源的ERP:WebERP
  17. tcp/ip 端口号有哪些
  18. 软件测试职业需要具备什么,新人要想学软件测试工程师需要具备哪些职业素质...
  19. CANopen的ID分类
  20. UniSwap V3协议浅析(上)

热门文章

  1. 从市场角度看服务器虚拟化
  2. vue调试工具 -- vue-devtools 安装方法
  3. Python入门很难吗? 为什么越来越多的人都学Python?
  4. 弹出无边框网页的Javscrpt代码
  5. Shared Event-loop for Same-Origin Windows(译)
  6. C#学习基础--静态类和静态类成员
  7. VMWare虚拟机NAT模式下static IP
  8. NAND Flash【转】
  9. 网页javascript部分
  10. Android拍照上传代码样例