android 蚯蚓 标签,一种在Android平台无障碍阅读自定义对话框的方法与流程

本专利属于计算机领域,具体而言涉及一一种在Android平台无障碍阅读自定义对话框的方法。

背景技术:

“信息无障碍”是指任何人在任何情况下都能平等、方便、无障碍地获取信息并利用信息。在现有技术中,通常信息无障碍所指的是能够实现对于有视觉、听觉等身体功能障碍的人提供无障碍信息的方法。

随着智能移动终端,例如智能手机,的普及,人们获取信息已经变得更为便捷。但是智能移动终端对于有视觉功能障碍的人士而言,来了较大的挑战。例如,很多显示在智能移动终端上的信息都依赖于借助视觉获取或者是借助视觉和其他操作来获取。为了提升移动终端的无障碍性能,现有技术中已经开发出了读屏器,来阅读智能终端屏幕上的内容,借助于其它无障碍软件和硬件,帮助视觉功能有障碍的人士来操作智能移动终端从而获取信息。

但是,现有技术中屏幕阅读器也存在局限。例如,在弹出对话框后,屏幕阅读器会把对话框内的所有元素朗读一遍。例如对话框内有标题:“警告”;提示语:“发生了一个错误,您是否重新启动程序?”;两个按钮“确定”、“取消”;现有技术在对话框弹出时屏幕阅读器朗读为:“警告发生了一个错误,您是否重新启动程序?确定取消”。对话框弹出后屏幕阅读器就自动朗读对话框内的所有元素会让通过屏幕阅读器使用应用的用户非常困扰。用户需要花一段时间去听对话框弹出时自动朗读的内容,并猜测其意思。此外,对于弹出对话框内容较长时,尤其受到很多的困扰。

技术实现要素:

本专利正是基于现有技术的上述需求而提出的,本专利要解决的技术问题是提供一种在Android平台无障碍阅读自定义对话框的方法以便于提升屏幕阅读器在阅读对话框内容时的能力。

为了解决上述问题,本专利提供的技术方案包括:

一种在Android平台无障碍阅读自定义对话框的方法,所述方法中包括如下步骤:步骤一、自定义对话框重写Android sdk提供的分发无障碍事件的方法(boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent))。重写此方法,让自定义对话框支持无障碍服务的正常访问;步骤二、在分发无障碍事件的方法中首先调用自定义对话框的父类即对话框类的实现,调用父类的实现后,自定义对话框能继承父类的无障碍属性;步骤三、然后设置无障碍属性中的类名为对话框;步骤四、最后分发无障碍事件的方法(boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent))返回假。返回假之后,系统会调用自定义对话框内所包含的控件的分发无障碍事件的方法来填充自定义对话框内的控件信息。

通过上述方法能够实现在android系统中无障碍阅读自定义对话框,并且不至于出现因为读屏软件直接阅读所有对话框中的所有空间从而导致的信息误解。

具体实施方式

下面对本专利的具体实施方式进行详细说明。需要指出的是,该具体实施方式仅仅是对本专利优选技术方案的举例,并不能理解为对本专利保护范围的限制。

本实施例中提供了一种在Android平台无障碍阅读自定义对话框的方法,通常在Android系统中的自定义对话框是指开发者为了让对话框实现更多的功能或达到其他目的,通过继承Android sdk提供的对话框类(Dialog)或其子类(注:一般都直接继承Dialog类)的类。所述方法包括如下步骤:

1、自定义对话框重写Android sdk提供的分发无障碍事件的方法(boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent))。重写此方法让自定义对话框支持无障碍服务的正常访问。

2、在分发无障碍事件的方法中首先调用父类的实现。调用父类的实现后,自定义对话框能继承父类的无障碍属性。自定义对话框都是继承Android sdk的对话框类(Dialog),这个类中已经提供了无障碍服务需要的必要信息,所以我们必须先调用父类的实现来继承这些无障碍属性。

3、然后设置无障碍属性中的类名为对话框(Dialog)。达到此目的是调用Android sdk的AccessibilityEvent类的设置类名的方法(setClassName())。其他的无障碍属性都被继承了,但是类名没有继承下来,这里设置类名为对话框(Dialog)无障碍服务才知道按照处理对话框控件的方式来处理自定义对话框。如果没有设置类名,无障碍服务不会按照处理对话框的方式来处理自定义对话框,这样就会发生很多无障碍的问题。

4、最后分发无障碍事件的方法(boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent))返回假。返回假之后,系统会调用自定义对话框内所包含的控件的分发无障碍事件的方法来填充自定义对话框内的控件信息。如果没有这些控件信息,用户就无法利用无障碍服务来访问自定义对话框内的控件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值