AccessibilityInfo
AccessibilityInfo
有时候了解设备是否具有当前处于活动状态的屏幕阅读器很有用。该AccessibilityInfo
API是专为这一目的。您可以使用它来查询屏幕阅读器的当前状态,并注册以在屏幕阅读器状态发生变化时收到通知。
以下是一个说明如何使用的小例子AccessibilityInfo
:
class ScreenReaderStatusExample extends React.Component {
state = {
screenReaderEnabled: false,
}
componentDidMount() {
AccessibilityInfo.addEventListener(
'change',
this._handleScreenReaderToggled
AccessibilityInfo.fetch().done((isEnabled) => {
this.setState{
screenReaderEnabled: isEnabled
}
}
}
componentWillUnmount() {
AccessibilityInfo.removeEventListener(
'change',
this._handleScreenReaderToggled
}
_handleScreenReaderToggled = (isEnabled) => {
this.setState{
screenReaderEnabled: isEnabled,
}
}
render() {
return (
<View>
<Text>
The screen reader is {this.state.screenReaderEnabled ? 'enabled' : 'disabled'}.
</Text>
</View>
}
}
方法
static fetch()
查询屏幕阅读器当前是否启用。返回解析为布尔值的promise。结果是true
屏幕阅读器启用时,否则返回false
。
static addEventListener(eventName, handler)
添加事件处理程序。支持的事件:
change
:当屏幕阅读器的状态发生变化时触发。事件处理程序的参数是一个布尔值。布尔值是true
当屏幕阅读器启用时,false
否则。
static setAccessibilityFocus(reactTag)
IOS的而已。将可访问性焦点设置为反应组件。
static announceForAccessibility(announcement)
IOS的而已。发布一个字符串,由屏幕阅读器发布。
static removeEventListener(eventName, handler)
删除事件处理程序。