改善用户体验
配置文本输入
在触屏手机上输入文本是一项挑战——屏幕小、软键盘。但根据你需要什么样的数据,你可以通过正确配置文本输入来简化操作:
- 自动聚焦第一个字段
- 使用占位符文本作为预期数据格式的示例
- 启用或禁用自动大写和自动纠正
- 选择键盘类型(例如,电子邮件、数字)
- 确保返回按钮聚焦下一个字段或提交表单
查看 TextInput 文档 了解更多配置选项。
- TypeScript
- JavaScript
管理键盘可见时的布局
软键盘几乎占据了屏幕的一半。如果你有可能会被键盘覆盖的交互元素,请确保通过使用 KeyboardAvoidingView 组件 使它们仍然可访问。
- TypeScript
- JavaScript
增大可点击区域
在手机上,按下按钮时很难做到非常精确。确保所有交互元素的大小为 44x44 或更大。实现这一点的一种方法是为元素留出足够的空间,padding、minWidth 和 minHeight 样式值对此很有用。或者,您可以使用 hitSlop 属性 来增加交互区域而不影响布局。这是一个演示:
使用 Android 涟漪效果
Android API 21+ 使用 Material Design 涟漪效果,在用户触摸屏幕上的可交互区域时提供反馈。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 和 人机界面指南 是了解更多关于移动平台设计的绝佳资源。