Android 用 Emoji Fragment 替换键盘

标签 android keyboard switch-statement emoji emoticons

我正在我的应用程序中聊天,我有一个表情 fragment (就像来自 whatsapp 或电报的 fragment )。如何在没有任何奇怪动画的情况下在 fragment 和键盘之间切换?

我已经有了带有表情符号和自定义 EditText 的 fragment 。我只想在那个 fragment 和键盘之间切换。我真的希望它像 whatsapp 或 Telegram 一样工作。

对于表情 fragment 我做了一个库。我在与 EditText 相同的布局中添加了一个 fragment (每个表情符号都带有 SpannableTextViews 的 GridView )。

任何帮助将不胜感激。

最佳答案

您不需要更换键盘,您可以使用 PopupWindow 将您的 fragment 放在 Activity 上正如 Telegram 所做的那样。看看source : 方法 showEmojiPopup 创建 EmojiView 并将其放入 PopupWindow 然后计算适当的大小并显示它。

emojiPopup.setHeight(View.MeasureSpec.makeMeasureSpec(currentHeight, View.MeasureSpec.EXACTLY));
emojiPopup.setWidth(View.MeasureSpec.makeMeasureSpec(contentView.getWidth(), View.MeasureSpec.EXACTLY));

emojiPopup.showAtLocation(parentActivity.getWindow().getDecorView(), 83, 0, 0);

关于Android 用 Emoji Fragment 替换键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23596004/

相关文章:

Android 在应用程序中添加自定义搜索栏

Swift 让键盘适应设备屏幕

javascript - keypress 和 keyup - 为什么 keyCode 不同?

java - Android Switch 语句崩溃

c - 如何修复 C 语言中的 switch case 菜单错误?

java - ANDROID:从 Android 软键盘获取按键

android - 有人可以在 runQueryOnBackgroundThread 上向我解释吗?

android - 匹配列中父项的宽度(Jetpack Compose)

android - react 原生 : Android soft keyboard push the View up

c - 我正确使用 fscanf 吗?和 switch 语句?