2

我想利用 Android 在配置为数字输入的 EditText 控件上接受语音输入的能力。我希望在控件获得焦点时弹出数字键盘。我使用了以下 xml:

 <EditText
    android:id="@+id/edittext"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:numeric="decimal"
    />

这会导致数字和符号键盘按预期显示,但没有语音输入按钮。如果我将键盘切换到字母数字键,则会显示语音输入按钮,但它已被禁用。

如果我删除 android:numeric="decimal" 属性,则会出现常规的 abc 键盘并启用语音,如果我说出“一八十二点六六”之类的数字,它会起作用并在编辑文本框中显示 182.66。

我已经搜索了一些方法来启用“仅十进制”语音输入。我无法在 EditText 或 TextView 上找到与语音输入有关的任何属性。

任何人都可以帮忙吗?我宁愿不使用语音识别意图,如果可以避免的话,我必须自己做所有事情(尽管这将是一个有趣的学习项目!)

4

1 回答 1

1

我认为不会有任何开箱即用的方式让它像你想要的那样工作。我猜最快的方法是将键盘设置为十进制,然后提供您自己的语音输入按钮。一旦服务器将它认为听到的字符串返回给您,那么只需验证它是一个数字,如果是,则将其放入编辑文本中。

于 2011-11-23T22:50:22.460 回答