改善用户体验
配置文本输入
在触摸手机上输入文本是一项挑战——屏幕小,还要用软件键盘。不过,根据你需要的数据类型,可以通过合理配置文本输入来让它更容易使用:
- 自动聚焦第一个字段
- 使用占位文本作为预期数据格式的示例
- 启用或禁用自动首字母大写和自动纠错
- 选择键盘类型(例如电子邮件、数字)
- 确保回车按钮会聚焦下一个字段或提交表单
查看 TextInput 文档 以了解更多配置选项。
- TypeScript
- JavaScript
键盘可见时管理布局
软件键盘几乎会占据屏幕的一半。如果你有可能被键盘遮挡的交互元素,请使用 KeyboardAvoidingView 组件 确保它们仍然可以访问。
- TypeScript
- JavaScript
使可点击区域更大
在手机上按按钮时,很难做到非常精准。请确保所有可交互元素的尺寸至少为 44x44。实现这一点的一种方法是为元素留出足够空间,padding、minWidth 和 minHeight 这些样式值会很有帮助。或者,你也可以使用 hitSlop 属性 来增加可交互区域,而不影响布局。下面是一个示例:
使用 Android Ripple
Android API 21+ 使用 material design ripple,在用户触摸屏幕上的可交互区域时提供反馈。React Native 通过 TouchableNativeFeedback 组件 提供了这一能力。使用这种触摸效果而不是透明度或高亮,通常会让你的应用在平台上更显自然。不过,使用时需要注意,因为它不适用于 iOS,也不适用于 Android API < 21,所以你需要在 iOS 上回退使用其他 Touchable 组件之一。你可以使用像 react-native-platform-touchable 这样的库来帮你处理平台差异。
屏幕方向锁定
默认情况下,多种屏幕方向都应该能正常工作,除非你在使用 Dimensions API 且没有处理方向变化。如果你不想支持多种屏幕方向,可以将屏幕方向锁定为竖屏或横屏。
在 iOS 上,在 Xcode 的 General 选项卡和 Deployment Info 区域中启用你想支持的设备方向(进行更改时请确保在 Devices 菜单中选择的是 iPhone)。对于 Android,打开 AndroidManifest.xml 文件,并在 activity 元素中添加 'android:screenOrientation="portrait"' 以锁定为竖屏,或者添加 'android:screenOrientation="landscape"' 以锁定为横屏。
了解更多
Material Design 和 Human Interface Guidelines 是学习如何为移动平台设计的极佳资源。