0

我正在尝试将 Android 示例软键盘设置为首字母大写。这是键盘的正常行为,但我不知道该怎么做((

4

2 回答 2

1

回答肯定有点晚了,但其他人可能需要这个。

要手动大写键盘,您必须使用所需的转换模式调用您KeyboardView的方法。setShifted (boolean shifted)

这是一个例子:

private KeyboardView mInputView;
...
mInputView.setShifted(true);

但是最好让软键盘通过检查文本编辑器的属性来决定它的大小写模式。例如,电子邮件通常使用小写字母输入。如果您在此处查看此示例,它有一个名为的方法updateShiftKeyState(EditorInfo attr),用于根据将在其中键入文本的文本编辑器的初始属性自动设置大写模式:

/**
 * Helper to update the shift state of our keyboard based on the initial
 * editor state.
 */
private void updateShiftKeyState(EditorInfo attr) {
    if (attr != null 
            && mInputView != null && mQwertyKeyboard == mInputView.getKeyboard()) {
        int caps = 0;
        EditorInfo ei = getCurrentInputEditorInfo();
        if (ei != null && ei.inputType != InputType.TYPE_NULL) {
            caps = getCurrentInputConnection().getCursorCapsMode(attr.inputType);
        }
        mInputView.setShifted(mCapsLock || caps != 0);
    }
}
于 2016-05-04T07:11:02.843 回答
0

只需android:capitalize在布局中为 textview 设置 xml 属性。在此处检查属性的可能值

于 2013-02-17T06:08:39.693 回答