让你的Xamarin.Forms应用程序访问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让你的Xamarin.Forms应用程序访问相关的知识,希望对你有一定的参考价值。
注意:在Xamarin.Forms 2.3.5-pre3发布版,我们将类名Accessibility变更为AutomationProperties。
ios、android和Windows都公开了开发人员为每个人构建可访问的移动应用程序的API。 我们很高兴地宣布,我们已经添加了新的API访问Xamarin.Forms,使它更容易为开发人员构建访问,跨平台移动应用。在这篇文章中,我们将在新的API添加到Xamarin.Forms,使它容易建立访问的移动应用。
Xamarin.Forms中的AutomationProperties APIs
Xamarin.Forms 2.3.5提供与提示相关的可访问性API的基本集。包含以下内容:
AutomationProperties.Hint
AutomationProperties.IsInAccessibleTree
AutomationProperties.LabeledBy
AutomationProperties.Name
通过定义这些属性,我们可以利用iOS和Android中的底层可访问性功能,比如 VoiceOver。
Making the Xamarin Evolve 2016 App Accessible
挖掘这些新API如何工作的最简单方法是使用真实世界的示例。我们制作一个LoginPage, 它源自 Xamarin Evolve 2016 移动应用 并且使用Xamarin.Forms中的新APIs可访问。在这个布局中,我们有可用的Xamarin.Forms 元素,就像 Entry 和utton。在Xamarin.Forms 2.3.5之前, 我们会利用平台效应或自定义渲染器利用访问API。使用新APIs,我们只需要添加一些属性,我们的移动应用程序就可以访问了:
点击(此处)折叠或打开
<toolkit:EntryLine
Text="{Binding Email}"
Keyboard="Email"
HorizontalOptions="FillAndExpand"
Placeholder="email address"
x:Name="EntryEmail"
StyleId="EmailTextField"
IsEnabled="{Binding IsNotBusy}"
BorderColor="#ECECEC"
AutomationProperties.Hint="Enter your email here"
AutomationProperties.IsInAccessibleTree="true"
AutomationProperties.Name="Email entry field">
<toolkit:EntryLine.HorizontalTextAlignment>
<OnPlatform x:TypeArguments="TextAlignment" iOS="Center"/>
</toolkit:EntryLine.HorizontalTextAlignment>
</toolkit:EntryLine>
在具有可访问性功能的物理设备上运行代码,对用户而言,将提供AutomationProperties.Hint的值。在iOS这是VoiceOver;在Android,是一些控制,其中包括Button,不幸的是,不要因为Android本身的原因而正确地行为,通过一个像Slider这样的控件,我们读取获取Hint和Name值的组合。
在iOS中启用VoiceOver,导向到Settings -> General -> Accessibility -> VoiceOver。在Android中,安装 TalkBack 它很可能已经安装在设备上,并且可以在 Settings -> Accessibility -> Vision访问。Windows用户可以在设置选项的方便下启用解说器。
记住,你需要有Xamarin.Forms 2.3.5,并在所有工程中使用Xamarin.Forms,包括你的iOS 和Android项目。注意AutomationProperties属性可能是不可感知的,因为它是附加属性。
结论
正如您已经看到的,上面的例子,仅增加四属性在XAML添加提示我控制我的手机应用程序驱动的可访问性。 我们鼓励您将这些新API添加到Xamarin.Forms 2.3.5来做一个尝试,让我们知道你的想法!您可以在每个平台的网站上阅读更多关于可访问性特性的信息。 (iOS, Android, Windows)。
本文出自 “wangccsy” 博客,转载请与作者联系!
以上是关于让你的Xamarin.Forms应用程序访问的主要内容,如果未能解决你的问题,请参考以下文章
HttpClient 非常慢 - Xamarin Forms