无法在具有大文本的Android TextView中显示Unicode字符(表情符号):"字体太大而无法放入缓存中#34;

时间:2015-08-30 15:33:09

标签: android unicode textview emoji large-text

我试图在TextView中显示单个Unicode字符(表情符号),文字大小为:

(("1" "2") . "3")

该字符未出现在屏幕上,我在logcat中收到此错误:

mEmojiTextView = (TextView) findViewById(R.id.emoji_text_view);
mEmojiTextView.setTextSize(200);
mEmojiTextView.setText("\uD83D\uDE01");

最大的尺寸是

E/OpenGLRenderer﹕ Font size too large to fit in cache. width, height = 545, 513

出现表情符号字符。这不是它的全屏或任何东西,在这个文字大小的屏幕上有足够的空间容纳大约6个表情符号字符。

我在LG Nexus 5手机上运行测试,分辨率为1080 x 1920,运行Android 5.1.1。我使用 minSdkVersion 11 targetSdkVersion 23

我在StackOverflow和其他地方尝试了很多变通办法:

mEmojiTextView.setTextSize(150);

没有任何作用。

我有办法让它发挥作用吗?

1 个答案:

答案 0 :(得分:3)

这是一个安卓问题Issue with emoji with 200sp size 目前无法修复此问题,如果TextView中有表情符号,则不要将大小设置为199以上