Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 通过AccessibilityManager实现字体大小倍增_React Native_Accessibility - Fatal编程技术网

React native 通过AccessibilityManager实现字体大小倍增

React native 通过AccessibilityManager实现字体大小倍增,react-native,accessibility,React Native,Accessibility,我需要字体大小倍增的值,它由系统的可访问性设置(iOS)设置 目前,我通过以下方式调用AccessibilityManager.m的方法来实现这一点: const AccessibilityManager = NativeModules.AccessibilityManager; console.log(AccessibilityManager.getMultiplier((value) => { console.log(value) })); 这是一种可靠的方法还是有人能给我推

我需要字体大小倍增的值,它由系统的可访问性设置(iOS)设置

目前,我通过以下方式调用AccessibilityManager.m的方法来实现这一点:

const AccessibilityManager = NativeModules.AccessibilityManager;
console.log(AccessibilityManager.getMultiplier((value) => {
    console.log(value)
}));
这是一种可靠的方法还是有人能给我推荐一种更好的方法?它应该可以作为共享组件的一部分使用

您可以使用它:

console.log(Dimensions.get("window").fontScale)


// Or use the listener to get an updated value
Dimensions.addEventListener("change", ({ window }) => {
  console.log(window.fontScale);
});


这似乎很直截了当,也很聪明。为什么你认为你需要一个更好的方法?顺便说一句,为你的应用程序烘焙可访问性鼓掌!我考虑了一个更“官方的api”,而不是直接调用accessibilitymanager。类似于PixelRatio组件/api。因为我看不出任何反对我的解决方案的理由,我只是对其他观点感兴趣。就在这时,我发布了一个新的相关组件。非常感谢。看起来你做的事情完全正确。你有没有开源组件本身?是的,我有。该方法由
单元格
组件使用。注意,乘数可以在应用程序运行时更改,但是
AccessibilityManager
不会发布此事件,因此您必须自己实现。现在有一种基于钩子的首选方法: