一、设备类是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,如需转载请自行联系原作者