首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AccessibilityInfo

有时候了解设备是否具有当前处于活动状态的屏幕阅读器很有用。该AccessibilityInfoAPI是专为这一目的。您可以使用它来查询屏幕阅读器的当前状态,并注册以在屏幕阅读器状态发生变化时收到通知。

以下是一个说明如何使用的小例子AccessibilityInfo

代码语言:javascript
复制
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否则。
  • announcementFinished:仅限iOS事件。屏幕阅读器完成发布后触发。事件处理程序的参数是一个包含这些键的字典:
    • announcement:由屏幕阅读器宣布的字符串。
    • success:表示通告是否成功的布尔值。

static setAccessibilityFocus(reactTag)

IOS的而已。将可访问性焦点设置为反应组件。

static announceForAccessibility(announcement)

IOS的而已。发布一个字符串,由屏幕阅读器发布。

static removeEventListener(eventName, handler)

删除事件处理程序。

扫码关注腾讯云开发者

领取腾讯云代金券