zoukankan      html  css  js  c++  java
  • 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系列其他推荐 


  • 相关阅读:
    poco之查看布局树
    airtest连接真机
    airtest之ADB调用
    airtest连接无线连接设备
    airtest之模拟器连接
    airtest之api、图片处理
    airtest介绍
    fidder保存请求和保存响应结果
    7 js之 条件语句
    IE6/IE7之浮动元素最后一个字母重复Bug
  • 原文地址:https://www.cnblogs.com/vipstone/p/7064636.html
Copyright © 2011-2022 走看看