2013-01-14 5 views
2

Je cherche à implémenter à la fois le clavier téléphonique et le clavier sous Android.Comme par mon exigence lorsque le EditText est sélectionné, un clavier téléphonique par défaut devrait être affiché. Mais l'utilisateur doit être capable de saisir des alphabets aussi. S'il vous plaît me suggérer un moyen de mettre en œuvre cela.Clavier téléphonique et clavier Qwerty en android

<EditText 
       android:id="@+id/editTextref1" 
       android:layout_width="210dp" 
       android:layout_height="45dp" 
       android:layout_alignParentRight="true" 
       android:layout_marginTop="10dp" 
       android:ellipsize="start" 
       android:hint="@string/custom1" 
       android:imeOptions="actionNext|actionDone" 
       android:inputType="text" 
       android:nextFocusDown="@+id/editTextref2" 
       android:shadowDy="10" 
       android:textColor="#383838" 
       android:textSize="14sp" 
       android:textStyle="bold" 
       android:maxLength="15" 
       android:typeface="serif" /> 

Répondre

1

Je voudrais faire l'hypothèse qu'il est impossible de le faire de manière simple et élégante. Le problème est que votre type d'entrée est InputType.TYPE_CLASS_TEXT et qu'il ne peut pas être modifié en InputType.TYPE_CLASS_NUMBER car vous devez également saisir des lettres.

Le problème est que la méthode d'entrée vérifie le type d'entrée et vous donne le clavier approprié avec des chiffres ou l'alphabet en fonction du type de type d'entrée de champ. Si vous demandez à la méthode de saisie de vous donner le clavier numérique et que vous avez votre EditText en surbrillance, vous ne pouvez pas forcer la méthode de saisie à passer au clavier alphabétique dans votre code. Je peux me tromper mais c'est ce que je pense.

La question est de savoir si vous pouvez demander à une méthode de saisie tierce de vous donner un clavier différent lors de l'édition de texte - je pense que vous ne pouvez pas le faire dans votre code. La méthode de saisie vous donnera des chiffres ou un alphabet en fonction de votre EditText mais vous ne pouvez pas les changer dynamiquement car la méthode de saisie n'est pas consciente de vos problèmes de conception. La seule façon de le faire est de créer votre propre méthode de saisie qui vous permette de changer dynamiquement les claviers numériques et alphabétiques.