Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android softkeyboard popup view on key long press

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!!

like image 383
Sonu Kumar Avatar asked Aug 26 '15 05:08

Sonu Kumar


1 Answers

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

like image 69
Ricardo A. Avatar answered Nov 11 '22 19:11

Ricardo A.