API 35模拟器装阿拉伯语键盘后Decimal键盘不显示问题求助
Jetpack Compose Decimal键盘无法弹出问题(API35+阿拉伯语键盘场景)
问题概述
使用Jetpack Compose开发时,设置keyboardType = KeyboardType.Decimal后,小数键盘无法正常显示,该问题仅在特定环境下触发。
相关代码片段
TextField( value = textValue, onValueChange = { textValue = it }, keyboardOptions = KeyboardOptions( keyboardType = KeyboardType.Decimal, imeAction = ImeAction.Done ) )
问题触发条件
- 设备运行API 35版本
- 模拟器安装了阿拉伯语键盘(即使未设为默认也会触发)
- 设备系统语言为英语
预期与实际结果
预期结果
TextField获得焦点时应显示小数键盘,不受已安装键盘或系统语言影响。
实际情况
满足触发条件时小数键盘不显示,但存在以下例外:
- 卸载阿拉伯语键盘后,小数键盘可正常显示
- 设置其他键盘类型(如
KeyboardType.Password)可正常工作 - 不指定
keyboardType时默认键盘正常显示
环境详情
- targetSdkVersion: 35
- 测试环境:
- 模拟器:Android API 35,Pixel 6
- 实体设备:尚未测试
- Compose版本:[请填写你的Compose版本]
- 键盘设置:Gboard同时安装英语和阿拉伯语键盘
已做排查步骤
- 移除阿拉伯语键盘后,小数键盘恢复正常
- 在API 34及以下版本测试,未出现该问题
- 多次用相同配置复现问题
补充现象
- 先点击未指定
keyboardType的TextField,键盘正常弹出 - 保持键盘打开状态下点击设置
KeyboardType.Decimal的TextField,小数键盘可正常显示 - 关闭键盘后直接点击该TextField,键盘完全不弹出
内容的提问来源于stack exchange,提问作者Ahmed
相关产品推荐
相关产品推荐

