2015-08-26 32 views
5

Zajmuję Android klawiatury ekranowej:Android softkeyboard popup widok na klucz długim naciśnięciu

public class CustomKeyboard extends Keyboard{...} 

    public class CustomKeyboardView extends KeyboardView{...} 

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

Na niektórych klawiszy, mam popupKeyboard i 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" > 

Ale kiedy długo naciskasz na wyskakujące okienko "0" z ")", pokazuje się, ale pozostaje tam, dopóki nie naciśniesz przycisku "X" lub ")".

I chcę, aby było otwarte tylko wtedy, gdy trzymam palec. Coś jak na klawiaturze iPhone:

i want popup like image

Każdy może pomóc?

Dzięki!

+0

Dzięki za modyfikację moje pytanie. –

Odpowiedz

1

Myślę, że w tym przypadku musisz utworzyć własne wyskakujące okienko, używając PopupWindow lub okna dialogowego.

następnie udać się do klawiatury i zastąpi onRelease metody tak:

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

Aby tworzyć własne popupWindow na klawiaturze zobaczyć ten wątek: Android custom keyboard popup keyboard on long press

+0

Chcę zaprojektować ui nie to dzięki .......... –