让你的Xamarin.Forms应用程序访问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让你的Xamarin.Forms应用程序访问相关的知识,希望对你有一定的参考价值。

注意:在Xamarin.Forms 2.3.5-pre3发布版,我们将类名Accessibility变更为AutomationProperties。

iosandroid和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,我们只需要添加一些属性,我们的移动应用程序就可以访问了:

点击(此处)折叠或打开

  1. <toolkit:EntryLine

  2.         Text="{Binding Email}"

  3.         Keyboard="Email"

  4.         HorizontalOptions="FillAndExpand"

  5.         Placeholder="email address"

  6.         x:Name="EntryEmail"

  7.         StyleId="EmailTextField"

  8.         IsEnabled="{Binding IsNotBusy}"

  9.         BorderColor="#ECECEC"

  10.         AutomationProperties.Hint="Enter your email here"

  11.         AutomationProperties.IsInAccessibleTree="true"

  12.         AutomationProperties.Name="Email entry field">

  13.  

  14.         <toolkit:EntryLine.HorizontalTextAlignment>

  15.             <OnPlatform x:TypeArguments="TextAlignment" iOS="Center"/>

  16.         </toolkit:EntryLine.HorizontalTextAlignment>

  17. </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

如何删除 Xamarin.Forms 导航栏?

开始使用 Xamarin.Forms.Platform.Avalonia

从导航堆栈中删除页面 - xamarin.forms

Xamarin.Forms 与 Net.Http [关闭]

C#使用Xamarin开发Android应用程序 -- 系列文章