android开发无障碍app

2019-07-24 01:21:15

最近做一些为盲人提供服务的APP,还是挺有感触的,感谢手机和互联网的普及,他们的生活比以前丰富了很多。

通过读屏软件,盲人可以操作手机,上网浏览信息。读屏软件的工作原理很简单,就是读出屏幕上按钮、文本的信息。

但是,由于许多按钮都是纯图片的,导致读屏软件无法读出,降低了软件的使用性。

下面我就来说说应用无障碍适配的一些技巧,让我们开发的APP能够为更多人服务。

 

使用android:contentDescription标签

其实,我们只需要在xml文件里使用android:contentDescription标签描述控件是做什么用的就可以了,就是这么简单!

<Button
    android:id=”@+id/pause_button”
    android:src=”@drawable/pause”
    android:contentDescription=”暂停按钮”/>

这样读屏软件就能读出按钮的说明了。使用contentDescription已经能够解决90%以上的无障碍适配问题。

 

主动说出帮助信息

View类提供了一系列无障碍的函数,帮助我们在自定义View时更好的提供说明信息:

 

sendAccessibilityEvent(int eventType)

发出一个无障碍事件通知,让读屏软件读出相应的事件,例如:TYPE_VIEW_CLICKED、TYPE_VIEW_CONTEXT_CLICKED等

 

announceForAccessibility(CharSequence text)

让读屏软件直接读出一个字符串

 

通过这些很简单的方法,就可以实现app的无障碍了,让我们一起做得更好吧!


  • 2020-02-13 13:37:53

    mysql随机排序

    首页热门栏目需要随机显示几条信息

  • 2020-02-14 20:08:17

    Android-应用被作为第三方浏览器打开

    微信里的文章页面,可以选择“在浏览器打开”。现在很多应用都内嵌了WebView,那是否可以使自己的应用作为第三方浏览器打开此文章呢?

  • 2020-02-16 16:17:15

    CocoaPods安装和使用教程

    当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。

  • 2020-02-16 17:13:34

    iOS优秀Objective-C开源库集锦

    自己从事iOS开发工作接近两年左右的时间了,在自己工作之余,收集整理了一些优秀的三方开源框架,自己整理的这些三方开源库涵盖了iOS开发面很多方面的知识。非常感谢这些开源库的作者们,正是因为这些库,提高了我们的开发效率,同样也是我们学习进步的源泉。现将这个整理工程文件分享出来,希望能给需要的朋友一些帮助,同时也自己也做下收集记录。