Estoy trabajando en una pequeña aplicación de lista de cosas pendientes y hasta ahora todo ha funcionado bastante bien. Hay una pequeña peculiaridad que me gustaría descubrir. Cada vez que voy a agregar un nuevo artículo, tengo un cuadro de diálogo con una vista EditText que muestra adentro. Cuando selecciono la vista Editar texto, el teclado aparece para ingresar texto, como debería. En la mayoría de las aplicaciones, el valor predeterminado parece ser que la tecla Mayús se mantiene para la primera letra ... aunque no lo hace para mi vista. Tiene que haber una manera simple de solucionarlo, pero he buscado repetidamente la referencia y no puedo encontrarla. Estoy pensando que tiene que haber un atributo xml para la referencia cargada por el Adaptador, pero no puedo descubrir cuál es.Primera letra mayúscula para EditText
Respuesta
Estáticamente (es decir, en su archivo XML de diseño): configure android:inputType="textCapSentences"
en su EditText
.
Programado: debe incluir InputType.TYPE_CLASS_TEXT
en el InputType
del EditText
, p. Ej.
EditText editor = new EditText(this);
editor.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
se puede combinar con el texto y sus variaciones para solicitar la capitalización del primer carácter de cada oración.
sólo tiene que utilizar android:inputType="textCapWords"
en su elemento EditarTexto.
Por ejemplo:
<EditText
android:id="@+id/txtName"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="0.7"
android:inputType="textCapWords"
android:textColorHint="#aaa"
android:hint="Name Surname"
android:textSize="12sp" />
, consultar el siguiente enlace para referencia: http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ainputType
Es una buena práctica marcar el código en el elemento de código en lugar de hacerlo en negrita. –
Esta respuesta realmente no ayuda a la pregunta de OP. Esto capitalizará el primer carácter para cada ** palabra **, no el primer carácter del texto de entrada (que se asume como una oración). Si bien esto probablemente pueda ayudar a los demás, la respuesta correcta es la respuesta aceptada. –
La solución para editar el campo de texto en una sola línea – Shivang
testEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
o android:inputType="textCapSentences"
sólo funcionará si el teclado del dispositivo automático activado Ajuste mayúscula.
La solución que hace editar el campo de texto en una sola línea – Shivang
Me encontré con el mismo problema, simplemente compartiendo lo que descubrí. Podría ayudarlo a usted y a otros ...
Pruebe esto en su diseño.agregue la línea siguiente en su EditText
.
android:inputType="textCapWords|textCapSentences"
funciona bien en mi .. esperemos que funcione también en usted ...
Pruebe este código, se capitalizará primer carácter de todas las palabras.
- conjunto addTextChangedListener para vista EditarTexto
edt_text.addTextChangedListener (observador);
- Añadir TextWatcher
TextWatcher watcher = 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) {
String input = s.toString();
String capitalizedText;
if (input.length() < 1)
capitalizedText = input;
else if (input.length() > 1 && input.contains(" ")) {
String fstr = input.substring(0, input.lastIndexOf(" ") + 1);
if (fstr.length() == input.length()) {
capitalizedText = fstr;
} else {
String sstr = input.substring(input.lastIndexOf(" ") + 1);
sstr = sstr.substring(0, 1).toUpperCase() + sstr.substring(1);
capitalizedText = fstr + sstr;
}
} else
capitalizedText = input.substring(0, 1).toUpperCase() + input.substring(1);
if (!capitalizedText.equals(edt_text.getText().toString())) {
edt_text.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
edt_text.setSelection(mStart);
edt_text.removeTextChangedListener(this);
}
});
edt_text.setText(capitalizedText);
}
}
};
Aplicar siguiente línea en su EditarTexto en XML.
android:inputType="textCapSentences|textMultiLine"
También permitirá el soporte multilínea.
Anteriormente solía ser android:capitalize="words"
, que ahora está en desuso. La alternativa recomendada es usar android:inputType="textCapWords"
Tenga en cuenta que esto solo funcionará si el teclado de su dispositivo activa automáticamente la configuración de capitalización.
Para hacer esto mediante programación, utilice el método siguiente:
setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
Conjunto tipo de entrada en XML, así como en el archivo Java como éste,
En XML,
android: inputType = "textMultiLine | textCapSentences"
También permitirá multilínea y en el archivo Java,
edittext.setRawInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
hacen Mayúsculas automáticas entorno seguro de su teclado se Habilitado.
- 1. mayúscula la primera letra de cada palabra
- 2. Poner en mayúscula la primera letra. MySQL
- 3. strftime hacer la primera letra mayúscula (mayúscula) en PHP
- 4. C#: nombres de métodos con la primera letra en mayúscula?
- 5. ¿Cómo hacer la primera letra en mayúscula en un UILabel?
- 6. Devolver la primera letra de NSString en mayúscula
- 7. La primera letra del nombre del archivo Git mayúscula
- 8. Poner en mayúscula la primera letra en ruby
- 9. ¿Cómo se muestra la primera letra en mayúscula?
- 10. Poner en mayúscula la primera letra de las oraciones CSS
- 11. ¿Primera letra del mayúscula de Javascript/jQuery con algunas excepciones?
- 12. XSL - ¿Cómo se escribe en mayúscula la primera letra
- 13. Convertir la primera letra en cadena en mayúscula
- 14. Compruebe si la primera letra de la palabra es una letra mayúscula
- 15. Cómo aplicar EditText para comenzar el texto en mayúscula?
- 16. ¿Cómo se escribe en mayúscula la primera letra de la primera palabra en una oración?
- 17. ¿Cómo hago para que la primera letra de una cadena sea mayúscula?
- 18. Convierta toda la primera letra a mayúscula, descanse más abajo para cada palabra
- 19. python capitalizar la primera letra solo
- 20. Display primera letra única
- 21. ¿Cómo paso a la siguiente letra mayúscula?
- 22. css primera letra para el enlace
- 23. palabra dividida por la letra mayúscula
- 24. Cómo encontrar la primera letra que no sea mayúscula en la cadena usando python
- 25. Hacer la primera letra en mayúscula y el resto en minúscula en una cadena
- 26. Comprobando si la primera letra de la cadena está en mayúscula
- 27. ¿Cómo actualizar los datos en mayúscula como primera letra con el comando t-sql?
- 28. Cómo mayúscula en la primera letra después de un guión, es decir, Adam Smith-Jones
- 29. ¿Cómo puedo escribir en mayúscula la primera letra de una entrada?
- 30. Convertir todos los registros en postgres a Titlecase, primera letra en mayúscula
testEditText.setInputType (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS); o android: inputType = "textCapSentences" solo funcionará si el teclado de su dispositivo se activa automáticamente. – Lakshmanan
¿Por qué habilitar esto hace que mi 'android: lines =" 7 "' deje de mostrar 7 líneas (ahora vuelve a ser una línea) –
estEditText.setInputType (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS); o android: inputType = "textCapSentences" solo funcionará si el teclado de su dispositivo se activa automáticamente. ** ¿Cuál es la alternativa para esto, programmtically? ** – Swift