/ / Criando teclado popup android - android, teclado, pop-up, ime

Criando teclado popup android - android, teclado, pop-up, ime

Eu tenho seguido os exemplos no developer.android.com relação a métodos de entrada e jogou com o aplicativo de exemplo SoftKeyboard. Estes juntos dão informações mais do que suficientes sobre a criação de um teclado simples.

Eu fiz teclado popup usando "android: popupKeyboard".

<Row android:keyHeight="@dimen/key_height"
android:id="@+id/label"
>
<Key android:codes="97" android:keyLabel="a" android:horizontalGap="@dimen/horizontal_border_gap"
android:keyEdgeFlags="left" android:keyBackground="@drawable/key_btn_l" android:popupKeyboard="@xml/popup"/>
<Key android:codes="115" android:keyLabel="s" android:keyBackground="@drawable/key_btn_l"/>
<Key android:codes="100" android:keyLabel="d" android:keyBackground="@drawable/key_btn_l"/>
<Key android:codes="102" android:keyLabel="f" android:keyBackground="@drawable/key_btn_a"/>
<Key android:codes="103" android:keyLabel="g" android:keyBackground="@drawable/key_btn_l" android:popupKeyboard="@xml/popup"/>
<Key android:codes="104" android:keyLabel="h" android:keyBackground="@drawable/key_btn_a"/>
<Key android:codes="106" android:keyLabel="j" android:keyBackground="@drawable/key_btn_a"/>
<Key android:codes="107" android:keyLabel="k" android:keyBackground="@drawable/key_btn_a"/>
<Key android:codes="108" android:keyLabel="l" android:keyBackground="@drawable/key_btn_l"/>
<Key android:codes="45" android:keyLabel="-" android:keyEdgeFlags="right" android:keyBackground="@drawable/key_btn_a"/>
</Row>

Eu tenho uma pergunta sobre pop-up.

  1. Desejo mostrar centro pop-up do teclado. mas o pop-up é mostrado perto da tecla pressionada. Existe alguma idéia para mostrar pop-up no centro do teclado?

  2. quando pressione e segure a tecla, o popup é mostrado. Eu desejo mostrar popup quando pressionar rapidamente. existe alguma ideia?

Se alguém souber de solução, por favor me ajude.

Respostas:

0 para resposta № 1

O pop-up padrão é pouco personalizável, mas vocêpode criar seu próprio popup para o seu teclado e personalizar tudo o que você deseja. Eu acho que você pode fazer isso com o Dialog e o PopupWindow, mas o PopupWindow é o melhor neste caso.

Crie seu próprio keyboardView, então você pode usar um método como onLongPress, ou onTouchEvent, se usar onTouchEvent você pode contar o tempo que a tecla é pressionada e então mostrar sua janela popup.

Para criar popupWindow:

View view = LayoutInflater.from(context)
.inflate(R.layout.popup_layout, new FrameLayout(context));
popup = new PopupWindow(context);
popup.setContentView(view);
popup.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
popup.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
popup.showAtLocation(this, Gravity.CENTER, x, y);

Crie variáveis ​​para x e y e obtenha com base na posição de toque.