Comment puis-je implémenter un clavier spécial

Je veux créer un clavier spécial pour l'utiliser dans mon application Android comme suit

Entrez la description de l'image ici

  • Comment redimensionner AlertDialog sur l'affichage du clavier
  • Dans Android, Can One intercepte-t-il des événements clés à l'échelle mondiale avant qu'ils n'atteignent la vue de l'enfant qui a une attention particulière?
  • Appelez pour getLayoutInflater () dans des endroits qui ne sont pas en activité
  • Comment concevoir / créer correctement un tiroir de navigation Android
  • Comment concevoir une application Android appropriée? Trucs et astuces
  • Contenu Spannable Android avec des coins arrondis
  • J'ai travaillé sur l'exemple de clavier logiciel et j'ai édité le qwerty.xml

    <?xml version="1.0" encoding="utf-8"?> <!-- /* ** ** Copyright 2008, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ --> <Keyboard xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="6%p" > <Row android:keyWidth="18%p"> <Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left"/> <Key android:codes="50" android:keyLabel="2"/> <Key android:codes="51" android:keyLabel="3"/> <Key android:codes="52" android:keyLabel="4"/> <Key android:codes="53" android:keyLabel="5"/> <Key android:codes="54" android:keyLabel="6"/> <Key android:codes="55" android:keyLabel="7"/> <Key android:codes="56" android:keyLabel="8"/> <Key android:codes="57" android:keyLabel="9"/> <Key android:codes="48" android:keyLabel="0" android:keyEdgeFlags="right"/> <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" android:keyWidth="15%p" android:keyEdgeFlags="right" android:isRepeatable="true"/> </Row> <Row > <Key android:codes="113" android:keyLabel="Q" android:keyEdgeFlags="left"/> <Key android:codes="119" android:keyLabel="W"/> <Key android:codes="101" android:keyLabel="E"/> <Key android:codes="114" android:keyLabel="R"/> <Key android:codes="116" android:keyLabel="T"/> <Key android:codes="121" android:keyLabel="Y"/> <Key android:codes="117" android:keyLabel="U"/> <Key android:codes="105" android:keyLabel="I"/> <Key android:codes="111" android:keyLabel="O"/> <Key android:codes="112" android:keyLabel="P" android:keyEdgeFlags="right"/> </Row> <Row > <Key android:codes="97" android:keyLabel="A" android:horizontalGap="5%p" android:keyEdgeFlags="left"/> <Key android:codes="115" android:keyLabel="S"/> <Key android:codes="100" android:keyLabel="D"/> <Key android:codes="102" android:keyLabel="F"/> <Key android:codes="103" android:keyLabel="G"/> <Key android:codes="104" android:keyLabel="H"/> <Key android:codes="106" android:keyLabel="J"/> <Key android:codes="107" android:keyLabel="K"/> <Key android:codes="108" android:keyLabel="L" android:keyEdgeFlags="right"/> </Row> <Row android:keyHeight="8%p"> <Key android:codes="122" android:keyLabel="Z"/> <Key android:codes="120" android:keyLabel="X"/> <Key android:codes="99" android:keyLabel="C"/> <Key android:codes="118" android:keyLabel="V"/> <Key android:codes="98" android:keyLabel="B"/> <Key android:codes="110" android:keyLabel="N"/> <Key android:codes="109" android:keyLabel="M"/> <Key android:codes="46" android:keyLabel="." /> <Key android:codes="32" android:keyLabel="SPACE" android:keyWidth="20%p" android:isRepeatable="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" android:keyWidth="20%p" android:keyEdgeFlags="right"/> </Row> </Keyboard> 

    Et je reçois le suivant

    Entrez la description de l'image ici

    Ignorez la première ligne, comment puis-je faire fonctionner le fond du clavier comme la première photo, je veux dire que je veux que mon clavier soit le premier avec tous les détails? Comment puis-je ajouter Gmail, Hotmail, … à la première rangée de mon clavier? Je souhaite également ajouter un son lorsque l'utilisateur clique sur une touche comme le clavier Android par défaut, comment puis-je le faire?

    One Solution collect form web for “Comment puis-je implémenter un clavier spécial”

    Créez un XML comme ceci pour le clavier:

     <?xml version="1.0" encoding="utf-8"?> <com.YourKeyboardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/keyboard" style="@style/keyboard_1_style" android:layout_width="fill_parent" android:layout_height="wrap_content" > </com.YourKeyboardView> 

    Et le style est comme ci-dessous:

      <style name="keyboard_1_style"> <item name="android:keyBackground">@drawable/k1_selector</item> <item name="android:keyTextColor">#24B2E7</item> <item name="android:background">@android:color/white</item> <item name="android:keyPreviewLayout">@layout/k1_preview</item> </style> 

    Dans lequel

     <item name="android:keyBackground">@drawable/k1_selector</item> 

    Est utilisé pour définir l'arrière-plan pour la clé.

     <item name="android:keyTextColor">#24B2E7</item> 

    Est utilisé pour la couleur du texte de la clé.

     <item name="android:background">@android:color/white</item> 

    Est utilisé pour définir l'arrière-plan du clavier entier et

     <item name="android:keyPreviewLayout">@layout/k1_preview</item> 

    Est nécessaire de définir l'aperçu de la clé.

    Aperçu de la mise en page xml:

     <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:textColor="@android:color/white" android:gravity="center" android:background="@drawable/neon_candidate_middle_pressed"/> 

    Pour les espaces entre les touches, utilisez ceci .

    Et pour android:background="@drawable/neon_candidate_middle_pressed" c'est l'image d'arrière-plan que vous souhaitez afficher dans l'aperçu de la clé.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.