Autore Topic: Encode emojii in softkeyboard  (Letto 463 volte)

Offline jox

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
Encode emojii in softkeyboard
« il: 16 Febbraio 2016, 11:47:40 CET »
0
Ciao ragazzi!
Non so se questa è la sezione giusta, sto implementando una softkeyboard e vorrei arricchirla con le emojii, ho trovato questa libreria https://github.com/ankushsachdeva/emojicon e l'ho integrata nella softkeyboard con il seguente codice
Codice (Java): [Seleziona]
  if (primaryCode == 32) {
        LayoutInflater layoutInflater = (LayoutInflater)     getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
        View popupView = layoutInflater.inflate(R.layout.popup, null);
        popupWindow = new EmojiconsPopup(popupView, this);
        // final PopupWindow popupWindow = new PopupWindow();
        popupWindow.setSizeForSoftKeyboard();
        popupWindow.setSize(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        popupWindow.showAtLocation(mInputView.getRootView(), Gravity.BOTTOM, 0, 0);
        // Bring soft keyboard up : NOT WORKING
        final InputMethodManager mInputMethodManager = (InputMethodManager) getBaseContext()
                .getSystemService(Context.INPUT_METHOD_SERVICE);

        mInputMethodManager.showSoftInput(popupView, 0);
 // If the text keyboard closes, also dismiss the emoji popup
        popupWindow.setOnSoftKeyboardOpenCloseListener(new OnSoftKeyboardOpenCloseListener() {

            @Override
            public void onKeyboardOpen(int keyBoardHeight) {

            }

            @Override
            public void onKeyboardClose() {
                if (popupWindow.isShowing())
                    popupWindow.dismiss();
            }
        });

        popupWindow.setOnEmojiconClickedListener(new OnEmojiconClickedListener() {

            @Override
            public void onEmojiconClicked(Emojicon emojicon) {
                mComposing.append(emojicon.getEmoji());
                commitTyped(getCurrentInputConnection());

                customToast("" + emojicon.getEmoji());
            }
        });

        popupWindow.setOnEmojiconBackspaceClickedListener(new OnEmojiconBackspaceClickedListener() {

            @Override
            public void onEmojiconBackspaceClicked(View v) {
                KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
                customToast(" " + event);
                handleBackspace();
            }
        });

la libreria funziona bene, ma quando utilizzo le emoticon nell'applicazione dei messaggi, le emojii sono codificate in stile android e sono differenti da quelle della mia libreria che sono in stile whatsapp, credo sia un problema di codifica, sapete come risolvere? Allego lo screenshot Accedi
« Ultima modifica: 17 Febbraio 2016, 12:30:46 CET da jox »