2017-12-13 9 views
1

이 입력 유형을 시도했지만 문제가 해결되지 않았습니다. 내 XML을 볼 수 있습니다. 어떤 제안을 해주십시오. 확장 된 softkeyboard 클래스 공용 클래스 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); 
+0

단계별로 달성하고자하는 것을 설명하십시오. – ADM

+0

[EditText의 첫 글자 대문자]의 가능한 복제본 (https://stackoverflow.com/questions/4808705/first-letter-capitalization-for-edittext) –

+0

Hy ADM 사용자 정의 키보드에서 타이핑을 시작할 때 달성하고 싶습니다. 초기 알파벳은 대문자 여야합니다. – Ayan

답변

2

사용자가 수동으로 소프트 키보드를 소문자로 변경하지 않으면 textCapSentences가 작동합니다. 정상적인 문장은 점과 공백으로 끝납니다. 그래서이 formate에서 완벽하게 작동합니다. 사용자가 수동으로 키보드를 변경하는 경우

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

당신은 문장의 경우 텍스트를 다시 편대하는 TextWatcher를 사용해야합니다.

+0

감사합니다. ADM 제가이 솔루션을 시도했지만 내 문제를 해결하지 못했습니다. – Ayan

+0

테스트 할 장치는 무엇입니까? 어떤 API 수준. 나는 이것이 Api 레벨에 의존하지 않는다고 생각하지만. – ADM

+0

android 버전 4.4.2 Api Level 19 – Ayan