2009-11-03 17 views
6

Si posee un teléfono con Android, sin duda habrá notado cómo en ciertas aplicaciones el diseño del teclado puede cambiar de la edición estándar a solo dígitos o tener .com o .net botones especiales basados ​​en el tipo de entrada de campo de texto (por ejemplo, número de teléfono). Entonces tengo 2 preguntas:Android: teclado personalizado y acción

  1. cómo activar esta personalización? Sospecho que tiene que ver con el formato EditText
  2. ¿Se puede seguir esto si quiero agregar algunos botones personalizados para inyectar un patrón específico? Digamos que tendría un botón AND que, al presionarlo, agregará todas las mayúsculas "Y" rodeadas de espacios al campo de texto. Se puede hacer esto?
  3. Lo que soy no Preguntar es cómo capturar algunas combinaciones de teclas en el evento KeyPress y luego rellenar el campo de texto con un patrón - Ya casi sé cómo hacerlo.

Respuesta

7

Se controla mediante el atributo XML android:inputType (o el método setInputType()).

Para obtener información sobre las opciones disponibles, consulte las páginas para XML attribute o object's method.

A modo de ejemplo, el siguiente código XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <EditText 
     android:text="example text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="phone" /> 
</LinearLayout> 

le dará este diseño:

Hosted by imgur.com

mientras que cambiar el inputType-textEmailAddress os haré esto:

Hosted by imgur.com

Puede personalizar el botón de "acción" como se explica en here, pero no creo que haya ninguna forma de personalizar completamente los teclados en este momento, pero podría estar equivocado.

+1

Muy bien, gracias. ¿Sabes si es posible falsificar la tecla ALT en el teclado virtual de alguna manera? ¿Puedo designar, por ejemplo, el botón INICIO como ALT? – Bostone

+1

No hay problema ... era algo con lo que había querido jugar de todos modos :) No creo que puedas simular la tecla alt, pero de nuevo, podría estar equivocado. Cabe señalar que es posible implementar su propio teclado (más o menos) desde cero. Tienen un ejemplo: http://developer.android.com/guide/samples/SoftKeyboard/index.html –

+1

Comprender. Aunque la implementación de un teclado personalizado completo es quizás demasiado para mi humilde aplicación :) – Bostone

1

Lo que me preocupa es que "inputType" aparece como una propiedad en desuso, lo que significa que puede funcionar por un tiempo, pero, finalmente, Android dejará de soportarlo. ¿Hay otra alternativa?

ACTUALIZADO: Malo - Estoy confundiendo con inputMethod.

Cuestiones relacionadas