如何初始键盘以大写字母开头,再次按下点再次以软键盘中的大写字母开头

时间:2017-12-13 05:26:09

标签: android android-edittext

我试过这些InputType但我的问题没有解决。我可以看到我的XML。请任何建议。我扩展了软键盘类 公共类SoftKeyboard扩展InputMethodService实现KeyboardView.OnKeyboardActionListener,SharedPreferences.OnSharedPreferenceChangeListener { - 提前谢谢。

<?xml version="1.0" encoding="utf-8"?>
<LatinKeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/urduSimple"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:alpha="1"
android:imeOptions="actionSearch"
android:inputType="textCapSentences"
android:keyBackground="@drawable/transparent_key_shape"
android:keyPreviewLayout="@layout/key_preview"
android:keyPreviewOffset="-4dp"
android:keyTextColor="@color/White"
android:paddingTop="4dp"
android:keyTextSize="28dp"
android:shadowRadius="0.0"
 android:popupLayout="@layout/keyboard_popup_layout">
 </LatinKeyboardView>
 Java:
            case InputType.TYPE_CLASS_TEXT:
            EditText editor = new EditText(this);
            editor.setInputType(InputType.TYPE_CLASS_TEXT | 
            InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

1 个答案:

答案 0 :(得分:2)

如果用户不手动将软键盘更改为小写,则textCapSentences将起作用。一个正常的句子以点和后面的空格结束。所以它对于这个合成完全有用。

<EditText
    android:id="@+id/et"
    android:layout_width="match_parent"
    android:inputType="textCapSentences"
    android:layout_height="wrap_content" />

如果用户手动更改键盘,则应使用 TextWatcher 以句子形式再次合成文本。