2016-07-27 2 views
0

Вот мой EditText, textCapWords не работает для клавиатуры Samsung. (Samsung S4). есть ли какое-нибудь обходное решение?textCapWords не работает для клавиатуры Samsung

<EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginStart="16dp" 
     android:background="@android:color/transparent" 
     android:imeOptions="actionDone" 
     android:inputType="textCapWords" 
     android:maxLength="15" 
     android:padding="12dp" 
     android:textSize="20sp" /> 

ответ

1

Попробуйте это в XML:

android:textAllCaps="true" 
+1

txtAllCaps и textCapWords - это разные вещи –

+0

textCapCharacters перестали работать на клавиатуре Android 7 Samsung. Поэтому вы получаете от меня голос, хотя и не совсем то, о чем просили :) – Moth

0

Используется этот Некоторые устройства Клавиатура не поддерживает capWords или отключить для установки

этот код EditText каждое слово первого прописной буквы

youredittext.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void afterTextChanged(Editable editable) { 
      String capitalizedText = WordUtils.capitalize(youredittext.getText().toString()); 
      if (!capitalizedText.equals(youredittext.getText().toString())) { 
       youredittext.addTextChangedListener(new TextWatcher() { 
        int mStart = 0; 
        @Override 
        public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

        } 

        @Override 
        public void onTextChanged(CharSequence s, int start, int before, int count) { 
         mStart = start + count; 
        } 

        @Override 
        public void afterTextChanged(Editable s) { 
         youredittext.setSelection(mStart); 
         youredittext.removeTextChangedListener(this); 
        } 
       }); 
       youredittext.setText(capitalizedText); 
      } 
     } 
    }); 

Скачать баночка импортировать WordUtils

https://www.dropbox.com/s/olfjyhfrghxvfs2/orgwordutils.jar?dl=0

1

Пробовали ли вы программно?

youredttxt.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS); 

ИЛИ

android:inputType="textCapWords|textCapSentences" 

ИЛИ

AFAIK это один является устаревшим, но я не знаю, будет ли она работать или нет, но вы можете попробовать,

android:capitalize="words" 
0

Можно попробовать ... работал на мне ...

android:inputType="textCapWords" 

Или

android:inputType="textCapSentences" 

Или

android:inputType="textCapWords" 

для Samsung S5/S7 есть дополнительные параметры в настройках под названием "Auto прописных" для создания первого фрахтователя в Колпачках.

Смежные вопросы