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工具和资源
  • 我们的性能能指导“推荐强制性”阅读

得到的编码

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

目录
相关文章
|
传感器 测试技术 开发工具
【Xamarin开发 Android 系列 3】循序渐进的学习顺序
原文:【Xamarin开发 Android 系列 3】循序渐进的学习顺序 指定合理的学习步骤,将各个技术点进行强化。慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资方式。
1660 0
|
开发工具 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
118 0
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
|
Java C# Android开发
.NET(WinCE、WM)开发转Android开发 ——Xamarin和Smobiler对比
WinCE从1995年诞生至今,已有20多年的发展历史,行业成熟方案覆盖范围广,从车载、工控、手持机都有涉及,且方案成熟。 近些年,Android以后来居上的态势,逐渐渗透至各行业领域,硬件手持大厂也把产品线重心向Android手持迁移,基于Android的行业解决方案越来越成熟,WinCE的开发人才流失,在WinCE解决方案上吃老本的企业寻求转型。
|
Web App开发 测试技术 Android开发
xamarin开发android收集的一些工具
原文:xamarin开发android收集的一些工具 xamarin开发android收集的一些工具 工欲善其事,必先利其器,从16年下半年开始做xamarin相关的开发,平时使用的一些工具和google插件给大家分享一下,都有下载地址,持续更新。
1535 0
|
XML Android开发 数据格式
Xamarin android沉浸式状态栏
虽然关于android ”沉浸式“状态栏有很多博客介绍过,从小菜到大神无一例外。我第一次看到这种”沉浸“式的效果我也以为真的是这么叫,然而根本不是这么回事,完全是人云亦云。它真正的学名应该叫“透明状态栏”。
2143 0
|
存储 数据库 Android开发
Xamarin android使用Sqlite做本地存储数据库
android使用Sqlite做本地存储非常常见(打个比方就像是浏览器要做本地存储使用LocalStorage,貌似不是很恰当,大概就是这个意思)。 SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
1369 0
|
前端开发 Android开发
Xamarin android中使用signalr实现即时通讯
前面几天也写了一些signalr的例子,不过都是在Web端,今天我就来实践一下如何在xamarin android中使用signalr,刚好工作中也用到了这个,也算是总结一下学到的东西吧,希望能帮助你们,更快地熟悉使用xamarin android进行即时通讯。
1444 0
|
XML Android开发 数据格式
Xamarin android spinner的使用方法
xamarin  android spinner的如何使用呢,大多数web开发人员经常会听到DropDownList 和Combobox 这种下拉选择框,spinner 的意思差不多,有道词典一下意思是“下拉列表”、“台湾斯普”,“下拉列表组件”,“微调控件”。
1589 0
|
XML Java Android开发
Xamarin android如何反编译apk文件
Xamarin android 如何反编译 apk文件 这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大。等一下我们来翻翻译这个Xamarin Android 开发的小游戏 下载链接:http://shouji.
1380 0
|
定位技术 开发工具 Android开发
Xamarin android如何调用百度地图入门示例(一)
在Xamarin android如何调用百度地图呢? 首先我们要区分清楚,百度地图这是一个广泛的概念,很多刚刚接触这个名词”百度地图api”,的确是泛泛而谈,我们来看一下百度地图的官网: android上使用百度地图的有Android地图SDK,定位SDK,导航SDK,全景SDK.
1503 0

热门文章

最新文章

下一篇
无影云桌面