概览
@amazon-devices/kepler-a11y-settings-interface-turbo为Kepler应用提供无障碍功能设置API和用户界面缩放挂钩。开始使用
安装
在package.json文件中,添加@amazon-devices/kepler-a11y-settings-interface-turbo程序包作为依赖项: 在命令行中,运行以下命令:npm install。
用法
设置的Getter方法、Setter方法和侦听器
读取设置
使用KeplerA11ySettingsInterface查询当前无障碍功能设置。所有Getter方法都会返回Promise。
侦听更改
添加侦听器以响应无障碍功能设置更改。侦听器注册方法和移除方法是异步的,并且会返回Promise:写入设置(仅限系统应用)
Setter方法需要com.amazon.devconf.privilege.accessibility.write权限,该权限为系统应用专有。第三方应用没有资格声明此权限。
用户界面缩放设置挂钩
用于动态缩放的React挂钩
使用提供的挂钩创建可自动适应缩放设置更改的响应式用户界面。定义用户界面大小时,必须使用这些挂钩来处理关联用户界面元素应缩放的情况。 如果您使用的用户界面元素已经使用这些挂钩封装了底层预定义大小,那么只需将应用定义封装在UiScaleSettingContextProvider中即可。
应用开发者有责任确保其应用能够妥善处理所载入用户界面元素的大小变化。例如,应用开发者可能需要确保容器可滚动,或是确保定义了文本组件的溢出行为,即使在默认缩放比例下这些属性并非必需。
缩放类型
该库支持各种用户界面元素的不同缩放行为:'low_upscale'- 尽可能小幅放大的大尺寸项目(例如卡片)'medium_upscale'- 缩放比例适中的标准用户界面元素'large_upscale'- 需要大幅放大的小尺寸元素(例如按钮)'low_downscale'- 在较高缩放比例下减少的留白'large_downscale'- 大幅缩小的较大内边距'text'- 具有相应行高缩放比例的文本元素'image'- 图像和视觉资产
高级缩放选项
使用可选参数控制缩放限值:与密度无关的像素 (DIP)
缩放API(useScaledSize、useScalingMultiplier、getScaledSize、getScalingMultiplier)支持与密度无关的像素 (DIP) 以及物理像素这两类输入,具体取决于使用输入的应用是否在其react-native.config.js中启用了PLATFORM_DENSITY_INDEPENDENT_PIXEL运行时功能标记。
- 启用了DIP (
PLATFORM_DENSITY_INDEPENDENT_PIXEL: true):传递给缩放API的大小值应以与密度无关的像素为单位。 - 未启用DIP:大小值应以物理像素为单位。
API参考
类
接口
- CaptioningProps—字幕属性,用于描述字幕首选项。
- KeplerA11ySettingsInterfaceTurbo
- ScalingProps—缩放属性,用于描述要缩放的项目。
类型别名
- CaptionColor—字幕的颜色值。
- CaptionEdgeStyle—字幕的边缘样式值。
- CaptionFont—字幕的字体值。
- CaptionOpacity—字幕的不透明度值。
- CaptionTextSize—字幕的文本大小值。
- ColorCorrectionMode—用于解决色觉缺陷问题的色彩校正模式。
- ItemScalingType—可缩放的项目类型。不同类型的对象以不同速率缩放。
- TimeoutMultiplier—用于调整超时持续时间的超时系数。
- UiScaleSetting—此枚举定义了应用和用户界面框架的缩放设置
函数
- UiScaleSettingContextProvider—提供程序组件,为子组件提供用户界面缩放设置上下文
- useScaledSize—挂钩,用于根据原始大小和缩放属性检索用户界面缩放后大小值。
- useScalingMultiplier—用于根据原始大小和缩放属性检索用户界面缩放系数值的挂钩。
- useUiScaleSetting—用于访问当前用户界面缩放设置的挂钩。
- useUiScaleSettingLoading—用于检查应用是否仍在获取用户界面缩放设置的挂钩。
变量
- SCALING_PROP_IMAGE_TYPE—无需maxSize/minSize时用于图像缩放的便捷ScalingProps对象
- SCALING_PROP_LARGE_DOWNSCALE_TYPE—无需maxSize/minSize时用于大幅缩小项目的便捷ScalingProps对象
- SCALING_PROP_LARGE_UPSCALE_TYPE—无需maxSize/minSize时用于大幅放大项目的便捷ScalingProps对象
- SCALING_PROP_LOW_DOWNSCALE_TYPE—无需maxSize/minSize时用于小幅缩小项目的便捷ScalingProps对象
- SCALING_PROP_LOW_UPSCALE_TYPE—无需maxSize/minSize时用于小幅放大项目的便捷ScalingProps对象
- SCALING_PROP_MEDIUM_UPSCALE_TYPE—无需maxSize/minSize时用于中幅放大项目的便捷ScalingProps对象
- SCALING_PROP_TEXT_TYPE—无需maxSize/minSize时用于文本缩放的便捷ScalingProps对象
- UiScaleSettingMode—面向用户的级别名称到UiScaleSetting数值的映射

