9

enter image description hereComment construire un clavier hints mise en page Android

En ce moment j'ai créé une disposition de clavier en utilisant la disposition linéaire, chaque clé est une image par exemple "Q", "W", "E" sont des images différentes.

Le problème est, comment ajouter l'image de conseils en direct ci-dessus? l'idée est, l'image des indices est cachée par défaut et lorsque l'utilisateur appuie longuement sur la touche, l'image des indices est affichée.

Et j'ai l'ensemble des images d'indices. Des idées pour les ajouter à la disposition du clavier?

Merci beaucoup d'avoir aidé. Voici la référence de disposition du clavier

<LinearLayout 
     android:id="@id/training_keyboard" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:layout_alignParentBottom="true" 
     android:padding="5dp" 
     android:background="@color/colorBg"> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:weightSum="10" 
      android:gravity="center" 
      android:orientation="horizontal"> 

      <ImageView 
       android:id="@+id/key1" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="手" 
       android:src="@drawable/keyboard_letter_r1_1" /> 

      <ImageView 
       android:id="@+id/key2" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="田" 
       android:src="@drawable/keyboard_letter_r1_2" /> 

      <ImageView 
       android:id="@+id/key3" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="水" 
       android:src="@drawable/keyboard_letter_r1_3" /> 

      <ImageView 
       android:id="@+id/key4" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="口" 
       android:src="@drawable/keyboard_letter_r1_4" /> 

      <ImageView 
       android:id="@+id/key5" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="廿" 
       android:src="@drawable/keyboard_letter_r1_5" /> 

      <ImageView 
       android:id="@+id/key6" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="卜" 
       android:src="@drawable/keyboard_letter_r1_6" /> 

      <ImageView 
       android:id="@+id/key7" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="山" 
       android:src="@drawable/keyboard_letter_r1_7" /> 

      <ImageView 
       android:id="@+id/key8" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="戈" 
       android:src="@drawable/keyboard_letter_r1_8" /> 

      <ImageView 
       android:id="@+id/key9" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="人" 
       android:src="@drawable/keyboard_letter_r1_9" /> 

      <ImageView 
       android:id="@+id/key10" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="心" 
       android:src="@drawable/keyboard_letter_r1_10" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:weightSum="10" 
      android:gravity="center" 
      android:orientation="horizontal"> 

      <ImageView 
       android:id="@+id/key11" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="日" 
       android:src="@drawable/keyboard_letter_r2_1" /> 

      <ImageView 
       android:id="@+id/key12" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="尸" 
       android:src="@drawable/keyboard_letter_r2_2" /> 

      <ImageView 
       android:id="@+id/key13" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="木" 
       android:src="@drawable/keyboard_letter_r2_3" /> 

      <ImageView 
       android:id="@+id/key14" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="火" 
       android:src="@drawable/keyboard_letter_r2_4" /> 

      <ImageView 
       android:id="@+id/key15" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="土" 
       android:src="@drawable/keyboard_letter_r2_5" /> 

      <ImageView 
       android:id="@+id/key16" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="竹" 
       android:src="@drawable/keyboard_letter_r2_6" /> 

      <ImageView 
       android:id="@+id/key17" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="十" 
       android:src="@drawable/keyboard_letter_r2_7" /> 

      <ImageView 
       android:id="@+id/key18" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="大" 
       android:src="@drawable/keyboard_letter_r2_8" /> 

      <ImageView 
       android:id="@+id/key19" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:tag="中" 
       android:padding="2dp" 
       android:src="@drawable/keyboard_letter_r2_9" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:weightSum="10" 
      android:gravity="center" 
      android:orientation="horizontal"> 

      <ImageView 
       android:id="@+id/sound" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="2" 
       android:padding="2dp" 
       android:src="@drawable/sound_on" /> 

      <ImageView 
       android:id="@+id/key20" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="難" 
       android:src="@drawable/keyboard_letter_r3_1" /> 

      <ImageView 
       android:id="@+id/key21" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="金" 
       android:src="@drawable/keyboard_letter_r3_2" /> 

      <ImageView 
       android:id="@+id/key22" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="女" 
       android:src="@drawable/keyboard_letter_r3_3" /> 

      <ImageView 
       android:id="@+id/key23" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="月" 
       android:src="@drawable/keyboard_letter_r3_4" /> 

      <ImageView 
       android:id="@+id/key24" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="弓" 
       android:src="@drawable/keyboard_letter_r3_5" /> 

      <ImageView 
       android:id="@+id/key25" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="1" 
       android:padding="2dp" 
       android:tag="一" 
       android:src="@drawable/keyboard_letter_r3_6" /> 

      <ImageView 
       android:id="@+id/reload" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:layout_weight="2" 
       android:padding="2dp" 
       android:src="@drawable/reload" /> 

     </LinearLayout> 
</LinearLayout> 
+0

Personnalisez la mise en page la plus externe, nommez KeyboadLayout et Override onDraw et dessinez la mise en page dynamique pour les occurrences sur la toile après super dessin. – Qamar

+0

Avez-vous essayé PopupWindow? https://developer.android.com/reference/android/widget/PopupWindow.html –

Répondre

3

utilisez popupWindow. Afficher popupAfficher au-dessus de votre vue clé.

private void showPopUp(View v) { 
    LinearLayout layout = new LinearLayout(this); 
    layout.setBackgroundColor(Color.GRAY); 
    TextView tv = new TextView(this); 
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    tv.setText("I'm a pop -----------------------------!"); 
    tv.setTextColor(Color.WHITE); 
    layout.addView(tv); 

    popupWindow = new PopupWindow(layout,120,120); 

    popupWindow.setFocusable(true); 
    popupWindow.setOutsideTouchable(true); 
    popupWindow.setBackgroundDrawable(new BitmapDrawable()); 

    int[] location = new int[2]; 
    v.getLocationOnScreen(location); 

    popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0], location[1]-popupWindow.getHeight()); 
} 
+0

merci pour la réponse, est-il un moyen de mettre en œuvre dans la mise en page XML? – user782104

+0

@ user782104 Voir layout = View.inflate (v.getContext(), R.layout.xxx, null); popupWindow = nouveau PopupWindow (layout, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); –