【问题标题】:Resize the keyboard or hide the virtual keyboard when the emoji keyboard shows当表情符号键盘显示时调整键盘大小或隐藏虚拟键盘
【发布时间】:2017-08-03 04:03:37
【问题描述】:

我正在使用 SuperNova-Emoji 库。我尝试了许多解决方案来调整表情符号键盘的大小或在表情符号键盘显示时隐藏虚拟键盘,但没有任何效果。

这是 GitHub 中的库链接:
https://github.com/hani-momanii/SuperNova-Emoji

更新 1:

这是我的代码;现在的问题是无限循环;键盘一直显示和隐藏,没有停止

SendMessageBox = (EmojiconEditText)findViewById(R.id.txtSendMsg);
    emojiIcon = (ImageView)findViewById(R.id.btn_icon);
    SendMessageButton = (Button)findViewById(R.id.btnSendMsg);
    rootView = (RelativeLayout)findViewById(R.id.layoutbackgrounde);
    EmojIconActions emojiAction = new EmojIconActions(getApplicationContext(),rootView,emojiIcon,SendMessageBox);
    emojiAction.ShowEmojicon();

    emojiAction.setKeyboardListener(new EmojIconActions.KeyboardListener() {
        @Override
        public void onKeyboardOpen() {
            Log.e("Keyboard","open");
            InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(rootView.getWindowToken(), 0);
        }

        @Override
        public void onKeyboardClose() {
            Log.e("Keyboard","close");
            //maybe re-appear the input keyboard if you have to on emojikeyboardclose
            //InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            //imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
        }
    });

【问题讨论】:

  • 这里放一些代码
  • 你能提供你尝试过的“许多解决方案”的代码吗?
  • @TotZam 我更新了我的状态

标签: java android keyboard emoji


【解决方案1】:

您可以在 emojikeyboardopen 上隐藏原来的键盘:

emojIcon.setKeyboardListener(new EmojIconActions.KeyboardListener() {
    @Override
    public void onKeyboardOpen() {
        Log.e("Keyboard","open");
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }

    @Override
    public void onKeyboardClose() {
        Log.e("Keyboard","close");
        //maybe re-appear the input keyboard if you have to on emojikeyboardclose
        //InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        //imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
    }
});

【讨论】:

  • 这是你唯一能做的。您无法更改键盘的大小,键盘是一个单独的应用程序,可以决定自己的大小。没有 API 可以影响它。
猜你喜欢
  • 2022-06-24
  • 1970-01-01
  • 2012-04-20
  • 2011-12-17
  • 1970-01-01
  • 1970-01-01
  • 2017-10-16
  • 2010-12-31
  • 1970-01-01
相关资源
最近更新 更多