[英]Emoji setup in my project
我提到了https://github.com/vanniktech/Emoji
但我犯了一个错误。我做了他所说的一切
final EmojiPopup emojiPopup = EmojiPopup.Builder.fromRootView(rootView).build(emojiEditText);
(它在“要打开 EmojiPopup 执行上面的代码:”行下面)
无法解析rootView
我无法理解这里的rootview
是什么。
非常感谢提前
rootView 是布局 xml 文件的 rootView,它将用于计算键盘的高度。 emojiEditText 是您在布局 xml 文件中声明的 EmojiEditText。
这将是您通过膨胀 xml 布局实例化的 View 子类。
他在示例中使用的布局是这种膨胀如下:
rootView = (ViewGroup) findViewById(R.id.main_activity_root_view);
摘自他自己的代码示例。 这将是上面示例中的 rootView。
我有同样的问题...
首先在您的启动活动或应用程序类中安装表情符号安装程序- 基本上它必须在您的活动中的 onCreate 布局膨胀之前执行。 否则布局将无法识别此<com.vanniktech.emoji.EmojiEditText />
。
// Init Emoji
EmojiManager.install(new IosEmojiProvider());
您还需要一个 rootview,如上面 jugutier 所述。
在您的xml 文件中,像这样声明视图小部件(这是用于约束布局)
<View
android:id="@+id/a_chat_v_keyboard"
android:layout_width="match_parent"
android:layout_height="200dp"
app:layout_constraintBottom_toTopOf="@+id/view3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent" />
您可以在活动课程中使用以下内容。
声明
private View vKeyboard;
绑定
vKeyboard = findViewById(R.id.a_chat_v_keyboard);
然后在您的活动中,您可以像这样弹出键盘
final EmojiPopup emojiPopup = EmojiPopup.Builder.fromRootView(vKeyboard)
.build(etTextMessage);
ivEmoticonToggle.setTag(1);
ivEmoticonToggle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
emojiPopup.toggle();
if (ivEmoticonToggle.getTag().equals(1)) {
ivEmoticonToggle.setImageResource(R.drawable.keyboard);
ivEmoticonToggle.setTag(2);
} else {
ivEmoticonToggle.setImageResource(R.drawable.emoticon);
ivEmoticonToggle.setTag(1);
}
}
});
如果您在 FirstActivity 以外的任何 Activity 中使用 EmojiEditText,则在第一个 Activity 中使用安装 Emoji
EmojiManager.install(new IosEmojiProvider());
或者,如果您在 FirstActivity 中使用它,则创建一个由 Application 类扩展的新类,并将这一行放在 onCreate 方法中
EmojiManager.install(new IosEmojiProvider());
并将这一行放在清单文件中的应用程序标记中
android:name=".YourClassName"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.