【问题标题】:How to add our own emoji in softkeyboard如何在软键盘中添加自己的表情符号
【发布时间】:2015-01-26 04:01:02
【问题描述】:

我试图弄清楚表情符号(表情)选择是如何在 Facebook 应用和 Google Hangouts 应用上实现的。

我创建了一个像表情符号这样的软键盘。但后来我想像 facebook、skype 等应用程序是如何对它做出反应的。许多表情符号键盘应用程序都使用 unicode 来发送他们的图像,这些代码是通用的。

我认为这种类型的键盘只能在此应用中使用,而不能在其他应用或操作系统中使用。

此键盘不使用 Unicode 序列,而只是使用本地图像资源。

我的问题是

如果我从本地数据库中添加自己的 表情符号,并且如果我不使用 UniCode 并通过创建可扩展的 ImageSpan 来发送它。这些图片可以发送到what's App、Facebook和Skype。

因为我正在创建新的表情符号图像。这是工作吗。

Just need suggestion or

Does anyone have an idea of how this can be implemented. 

或者是否可以将我的表情符号图标转换为 UNi 代码

【问题讨论】:

    标签: android-softkeyboard emoji android-input-method


    【解决方案1】:

    看到这个link

    Softkeyboard.java

        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();
                }
            });
    

    给你一些帮助..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 2016-04-28
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多