Xamarin.Forms:学习曲线的技巧提示

简介: 对于任何一个人,学习一项新技术或者新模式,总会遇到一些曲线,多年来,我一直站在产品的门槛上,凝视着那条曲线,以确定它到底有多陡峭,直到我确定生成它需要多长时间。现在,作为Xamarin.Forms的项目管理者,我收集并收到初学者的大量反馈,站在能够提供帮助的位置。

对于任何一个人,学习一项新技术或者新模式,总会遇到一些曲线,多年来,我一直站在产品的门槛上,凝视着那条曲线,以确定它到底有多陡峭,直到我确定生成它需要多长时间。现在,作为Xamarin.Forms的项目管理者,我收集并收到初学者的大量反馈,站在能够提供帮助的位置。

我策划的一些重要的资源,让你的曲线,从我们的文档指南到Xamarin大学培训材料,博文以及其他的更多资源。不管你是Xamarin.Forms的初学者还是有经验的用户,我想你都能从下面得到一些帮助。

快速索引

Giddyup: 先决条件


我需要安装什么?

移动开发在开始开发之前需要准备更多的东西,包括移动平台SDK,一个集成开发环境,仿真器组合,模拟器和设备。这些指南会让你快速地前进:

Windows安装
Mac安装

也可以从Xamarin大学检出自我指导课件,Xamarin入门 [XAM101].

简化iOS开发

我们在Xamarin在线播放器(当前是预览2)一节努力的介绍了简化iOS开发。Xamarin在线语序你使用Visual Studio 2017编写代码,并可以通过在设备上访问Xamarin在线播放器应用立即看到你的应用程序。

当你准备好编译和发布你的iOS应用是,或者增长Xamarin在线播放器的能力,你可以连接上你的Mac并使用Windows下的远程iOS模拟器

常见的第一个问题


我如何从一个屏幕导航到另一个屏幕?

img_7929b042f73539e8a9ecc6ef212cb0bf.png

Xamarin.Forms屏幕叫做也,是基于ContentPage类。 Xamarin.Forms遵循堆栈概念,你从堆栈中弹出或者推进。在你做它之前,你需要导航到一个堆栈。介绍一个最简单的方式是使用NavigationPage启动你的应用程序。

现在,通过ContentPage,你可以简单的使用Navigation服务,压入一个新的页面到导航堆栈中:

MainPage = new NavigationPage( new FirstPage() );
await Navigation.PushAsync( new SecondPage() );

关于导航的更多信息,可以访问指导

H我如何布局我的内容?

Xamarin.Forms支持几种布局模式, 包括Grid,StackLayout,,AbsoluteLayout和RelativeLayout。我建议你学习并喜爱上Grid,这是目前最灵活和高性能的选项。

img_0c2bb935c9ac68a367d40b5631626fbc.png

对于高度优化的布局,访问创建一个自定义布局,在这里你可以精确的控制方面的措施和无效循环。

从Xamarin大学检出自学指导内容,Xamarin.Forms布局[XAM135].

我怎么看到我的设计?

你有几个选择。Xamarin 在线播放时越来越好了,它可以在文本编辑器中在线编辑XAML并且看到实际的渲染效果。小提示:使用想Reflector这样的工具来在你的开发机上监视你的设备。

我们的设计师团队也在改善Xamarin.Forms预览器

我到哪里查找 _____控件?

Xamarin.Forms 提供了跨越目标平台的一些本地UI控件的实现。这个抽象的概念变得清晰,当你看到Xamarin.Forms渲染到本地控件的映射时。

还在看吗?Xamarin具有巨大的生态系统的第三方和社区控制的补充和扩展平台。花一些时间在你喜欢的搜索引擎,GitHub和在NuGet上查找。

超越基础


我如何自定义控件?

在Xamarin.Forms控件提供了基本自定义的可能性,我们提供了在你“撞墙”的时候的们,你有一些选择:

平台特性

但你仅仅需要自定义一个指定平台的控件时,你可以实现Platform特性。一个很好的例子是调整进入安装控件宽度的字体大小

影响

Effects是非常有效的,当你需要在每个平台添加一个自定义控件时,这对于跨平台控件可能是有用的,当您只需要修改一个当前未在控件抽象中公开的属性时。一些普通的例子是添加阴影或者是Xamarin.Forms社区工具箱中的一个,我经常用来移除入口的边框。

注册在线的Xamarin大学课程,在Xamarin.Forms中使用Effects [XAM330]以便了解更多。

自定义渲染器

创建一个自定义渲染器给你的设计和行为的本地平台控制更多的控制。指导演示如何创建一个简单的自定义输入输出。

在你想要实现一个在当前Xamarin.Forms中可能不存在的控件时,你可能会使用自定义渲染器,比如浮动操作按钮。Xamarin大学覆盖额这个话题,同时,对于场景如互动图,
自定义绘图表面,以及更多信息都可以从Xamarin.Forms渲染器[XAM335]了解到。

我如何使用自定义字体?

虽然Xamarin.Forms使得很多跨平台发展顺利,也包含设置字体属性自定义字体 需要更多的关注。

我们在我们的天气演示应用程序使用一个自定义的图标字体,天气图标。一旦你已经正确设置在平台项目的字体,在XAML中使用字体将变得很简单。

    
        
            
            
            
        
     

我把我的照片在哪里?

相对于字体,管理图像需要更多的努力。这部分是由于每个平台处理图像的方式不同,与各种尺寸和密度都需要或支持。指导手册 将向你展示发现图像和怎么加载图像的一些技能。当你把它们放到正确的地方,引用这些是简单的。平台将找到的图像和设备提供适当的密度。

我如何在本地存储数据

每个平台都有一个存储API暴露给Xamarin.Forms来访问Application.Current.Properties。对于存储简单数据,这个API是非常好的。

当你的存储需要变得负责是,你需要浏览一些选项,比如sqliteAzure Mobile AppsRealm + Azure,或者一些其他可用的选项。

我从哪里开始推送通知?

Azure移动应用对于Xamarin.Forms应用是一个不错的选择。Azure文档网站包含了在你的应用中启用消息推送的文章。

其他一些服务,比如Urban Airship提供了Xamarin应用组件,来启用它们的API。

我如何使用 ______ 服务认证?

这是相当依赖的服务是什么,但总的来说我建议开始使用服务的组件是否公开认证的API。在使用查找Xamarin.Auth具有内置验证器为Google, Microsoft, Facebook, 以及Twitter。我也使用它来验证Strava oAuth服务。

我如何检查我的应用UI树?

为此目的,Visual Studio企业许可包含了访问Xamarin检查工具而这是我们最喜欢的,我们使用的清晰,还有其他的商业和开源项目有检查移动应用程序。

img_61a23c7b634f32b6478df5eb4b85fcbd.png

加分:额外的“东西”

  • 检查连接的是你可能会烤到每一个移动应用程序,因此检出连接插件
  • 有很多好的插件可以让跨平台的开发更容易。检出列表并浏览NuGet和GitHub以发现更多插件。
  • 我喜欢推动并分享有用的资源,也可以访问Xamarin大学讲师博客Xamarin工具和资源
  • 我们的性能能指导“推荐强制性”阅读

得到的编码

我希望你发现一些技巧,有助于你,我鼓励你分享你自己的发现,当你开始旅程。如果你碰巧推了什么东西,请告诉我这样我就可以把它添加到我的列表,有助于与他人分享。

目录
相关文章
|
C#
C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
原文:C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.
1106 0
|
Android开发 Windows
第一章:Xamarin.Forms如何适应?(5)
安装在编写Xamarin.Forms的应用程序之前,您需要在Mac,PC或两者上安装Xamarin平台(如果您正在使用该设置)。 请参阅Xamarin网站上的文章:https://developer.xamarin.com/guides/cross-platform/getting_started/installation/您可能急于创建您的第一个Xamarin.Forms应用程序,但在此之前,您需要尝试为iPhone和Android以及普通的Windows,WindowsPhone和Windows 10 Mobile项目创建正常的Xamarin项目。
963 0
|
Web App开发 Android开发 Windows
用Xamarin.Forms创建移动应用程序
——针对iOS,Android和Windows的跨平台C#编程慢慢的准备翻译这本书。官方发布的第一版。一边翻译一边学习。 第一章:第一部分,http://blog.chinaunix.
790 0
|
Android开发 iOS开发
【Xamarin.Forms】Xamarin.Forms 2.5.0中本体系Forms的发光之处
自从6月份我们预览了Native Forms以来,我们一直在努力平衡这些不足之处,并通过修复错误并整合来自社区的优秀反馈来为Xamarin.Forms 2.5.0打磨它。
1699 0
【Xamarin.Forms】XAML编译——使用XAML编译器来提高Xamarin.Forms应用程序的性能
XAML可以选择使用XAML编译器(XAMLC)直接编译为中间语言(IL)。XAMLC提供了许多好处: 它执行XAML的编译时检查,通知用户任何错误。
1092 0
|
Android开发 Windows
【Xamarin.Forms】Xamarin.Forms的XAML预览器——查看您输入的Xamarin.Forms布局!
要求 项目需要使用最新的Xamarin.Forms NuGet包来使XAML预览器正常工作。 预览Android应用程序需要JDK 1.8 x64。发行说明中有更多信息。
2060 0
|
Go C# Android开发
Xamarin.Forms简介
跨平台用户界面入门 Xamarin.Forms是一个跨平台的本机支持的UI工具包抽象,允许开发人员轻松创建可以在Android,iOS,Windows和Windows Phone上共享的用户界面。
1179 0
|
iOS开发
Xamarin.Forms多画面快速入门
该快速入门演示了如何通过添加第二个屏幕来扩展Phoneword应用程序来跟踪应用程序的通话记录。 最终的应用如下所示: 扩展Phoneword应用程序如下: 在“开始”屏幕中,启动Visual Studio。
951 0

热门文章

最新文章