7

I am developing Android soft keyboard:

public class CustomKeyboard extends Keyboard{...}  

    public class CustomKeyboardView extends KeyboardView{...}

    public class CustomKeyboardIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener{...}

On some keys, I have popupKeyboard and popupCharacters:

<Key android:codes="144" android:keyLabel="0" android:popupKeyboard="@xml/key_popup" android:popupCharacters=")" android:keyEdgeFlags="right"/>

xml/key_popup.xml:

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
  android:keyWidth="10%p"
  android:horizontalGap="0px"
  android:verticalGap="0px"
  android:keyHeight="@dimen/key_height" >

But when I longPress on "0" key popup with ")" shows, but it stays there until I press "X" button or ")" character.

And I want it to be opened only while I am holding a finger on. Something like on iPhone keyboard:

i want popup like image

Anyone can help?

Thanks!!

Avanish Singh
  • 767
  • 2
  • 8
  • 32
Sonu Kumar
  • 969
  • 1
  • 11
  • 36

1 Answers1

1

I think you will need to create your own popup in this case, using PopupWindow or Dialog.

then you go into your keyboard and overwrite your onRelease method, like this:

@Override
public void onRelease(int primaryCode) {  
    myPopupWindow.dismiss();
}

To make your own popupWindow for keyboard see this thread: Android custom keyboard popup keyboard on long press

Community
  • 1
  • 1
Ricardo A.
  • 685
  • 2
  • 8
  • 35