使您的Xamarin.Forms应用程序可访问

简介: iOS,Android和Windows都会为开发人员公开API,为每个人构建可访问的移动应用。 我们很高兴地宣布,我们在Xamarin.Forms中添加了可用性的新API,以便开发人员更轻松地构建可访问的跨平台移动应用程序。

iOS,Android和Windows都会为开发人员公开API,为每个人构建可访问的移动应用。 我们很高兴地宣布,我们在Xamarin.Forms中添加了可用性的新API,以便开发人员更轻松地构建可访问的跨平台移动应用程序。 在这篇文章中,我们将介绍添加到Xamarin.Forms中的新API,从而轻松构建可访问的移动应用程序。

XAMarin.Forms中的AutomationProperties APIs

Xamarin.Forms 2.3.5 provides a base set of hint-related accessibility APIs. They consist of the following:提供了一组提示相关的可访问性API。 它们包括以下内容:

  • AutomationProperties.Hint
  • AutomationProperties.IsInAccessibleTree
  • AutomationProperties.LabeledBy
  • AutomationProperties.Name

通过定义这些属性,我们可以利用iOS和Android中的底层辅助功能,例如VoiceOver

使Xamarin Evolve 2016应用程序可访问

挖掘这些新API如何工作的最简单的方法是与现实世界的例子。 让我们从Xamarin Evolve 2016移动应用程序中登录LoginPage,并使用Xamarin.Forms中的新API进行访问。 在这个布局中,我们有通常的Xamarin.Forms元素,如Entry和Button。 在Xamarin.Forms 2.3.5之前,我们必须使用平台效果或自定义渲染器来利用可访问性API。 使用新的API,我们只需添加一些属性,我们的移动应用就可以访问:

点击(此处)折叠或打开

  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等元素将读取“提示”和“名称”值的组合。

要在iOS中启用VoiceOver,请导航到设置 - >常规 - >辅助功能 - > VoiceOver。 对于Android,请安装“话语提示”,这很可能已经在设备上安装,并且可以在“设置” - >“辅助功能” - >“视觉”下启用。 Windows用户可以在“设置”中的“轻松访问”选项下启用旁白。

记住,您将需要将Xamarin.Forms 2.3.5添加到使用Xamarin.Forms的所有项目中,包括您的iOS和Android项目。 请注意,IntelliSense中的AutomationProperties属性可能不可用,因为它们是附加的属性。

结论

正如您在上面的示例中看到的,在XAML中仅添加了四个属性给我的控件,为我的移动应用程序添加了提示驱动的可访问性。 我们鼓励您在Xamarin.Forms 2.3.5中提供这些新API,并让我们知道您的想法! 您可以在每个平台的网站上阅读有关各种辅助功能的更多信息 (iOS, Android, Windows)。

目录
相关文章
【Xamarin】使用WebSocket开发实时通信应用程序
WebSockets是一种双向通信协议,或TCP连接上的持久通信通道,由许多游戏,具有聊天功能的应用程序和实时应用程序(如股票行情)利用的非常强大的协议。 在这篇博文中,我们将讨论如何构建一个简单的Xamarin聊天室应用程序,该应用程序将利用并连接到ASP.NET Core WebSocket服务。
3047 0
|
数据库 Android开发 数据库管理
【Xamarin.Android】使用实体框架构建Android应用程序
数据是任何应用程序开发的一个重要组成部分,移动应用程序也不例外;作为开发人员,处理数据是我们的一个重要决策,对移动应用开发也是如此。从键值对存储到SQLite,有许多选项可用,但是,.NET开发者往往特别熟悉的是实体框架。
1477 0
|
存储 JSON Java
使用友盟+的APM服务实现基于Xamarin.Android的应用程序启动性能优化
随着开发平台的普及, 我们需要正确的⼯具和⽅法来满⾜不断增⻓的需求。Xamarin就是这样⼀种框架, 它⽀持在 Android、 iOS 和 Windows 平台上共享单个代码库。所以,我们将在 Xamarin.Android应⽤程序中测试性能, 就像在 AndroidStudio 中使⽤ Java 开发⼀样, 我们可以使⽤c#对性能进⾏测试, 从⽽优化启动时间。
使用友盟+的APM服务实现基于Xamarin.Android的应用程序启动性能优化
【Xamarin.Forms】XAML编译——使用XAML编译器来提高Xamarin.Forms应用程序的性能
XAML可以选择使用XAML编译器(XAMLC)直接编译为中间语言(IL)。XAMLC提供了许多好处: 它执行XAML的编译时检查,通知用户任何错误。
1100 0
|
API Android开发 iOS开发
使用.NET标准构建(生成)Xamarin.Forms应用程序
.NET标准库将我们的代码带入更多平台,并为基础类库提供更多API,从而构建出惊人的应用程序。开发人员已经能够使用Xamarin的.NET标准库来跨平台共享代码,并且使用Xamarin.Forms长久地在iOS,Android,UWP,macOS之间创建一个共享的用户界面。
1083 0
|
存储 测试技术
【Xamarin】快速生成和发布五星级应用程序
移动应用程序的第一步是构建自动化,它构建应用程序并运行所需的测试,以确保应用程序遵循所需的规则。 构建自动化也是运送高品质,五星级移动应用程序的第一步。 在构建iOS和Android移动应用程序时,主要的挑战之一就是正确安装所需的工具和SDK,以便成功构建应用程序并运行测试。
1068 0
|
安全 iOS开发
更新iPhone X的Xamarin.iOS应用程序
毫无疑问,今年WWDC最大的一个声明是iPhone X。新的超级Retina显示器在设备上是边缘到边缘,创造了我们尚未在iPhone上看到的沉浸式体验。 随着iPhone X上的新屏幕更改,开发人员可能会问自己:“我该怎么做更新我的应用程序?”让我们来看看如何开始为iPhone X准备好应用程序。
1038 0
|
Android开发 iOS开发
【Xamarin.Android】在移动应用程序中集成应用程序购买
开发人员在开发移动应用程序时常常需要集成货币化以产生收益。有几种方法来赚钱的应用程序,但在某些时候你可能想介绍在应用程序内购买,或集成到您的应用程序。IAPs 可以采用的几种方法,可以应用到你的应用程序,如添加功能,去除广告,或购买游戏中的货币。
1121 0
|
C# Android开发 iOS开发
使用Dotfuscator保护你的Xamarin应用程序
老实说,发布一个库、桌面应用程序或移动应用程序可能有点吓人。一旦你的软件可以免费提供给世界,你就失去了如何使用它的某种程度的控制权。特别是,开发人员经常担心逆向工程的威胁。 在许多平台和语言中,代码混淆工具是防止逆向工程的常见方法。
1530 0
|
API Android开发 iOS开发
【Xamarin.Android】添加面部跟踪和实时识别到您的Android应用程序
今天的相机应用可以做的不仅仅是拍完美的照片。无论是添加过滤器到您的图像或让您调整焦点和手动曝光,应用程序可以从根本上把你变成一个专业摄影师。虽然应用商店中的众多应用程序让你用相机做很多事情,还有其他人可以实时地对你的图像进行巧妙的操作,例如在脸上添加自定义掩码,操纵你的脸看起来更老或更年轻,和更多的。
1862 0