我正在使用com.rockerhieu.emojicon库,它工作得很好,但是当在带有长文本的recyclerview上使用时,滚动速度很慢。出于这个原因,我想在必须显示表情符号时使用EmojiconTextView。所以,我希望在我的xml资源上有一个TextView元素,并在需要时以编程方式将其转换为EmojiconTextView。有没有办法实现这一目标?我想过使用ViewStub,但是我没有找到用TextView / EmojiconTextView元素对它进行充气的方法。
提前致谢。
答案 0 :(得分:0)
尝试以编程方式创建UI,而不是使用XML创建UI的声明方式。
考虑到您在XML中定义了LinerLayout
:
<LinearLayout
android:id="@+id/linearMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
然后,您可以以编程方式添加EmojiconTextView
和TextView
:
final LinearLayout lm = (LinearLayout) findViewById(R.id.linearMain);
LayoutParams lpView = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
if (mustShowEmoji) {
EmojiconTextView etv = new EmojiconTextView(this);
etv.setLayoutParams(lpView);
etv.setText("TextView containing emoji");
lm.addView(etv);
} else {
TextView tv = new TextView(this);
tv.setLayoutParams(lpView);
tv.setText("TextView");
lm .addView(tv);
}