6

我正在尝试在 TextView 中显示单个 Unicode 字符(表情符号),其文本大小较大(r):

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

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

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

工作的最大尺寸是

mEmojiTextView.setTextSize(150);

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

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

我尝试了在 StackOverflow 和其他地方找到的许多解决方法:

mEmojiTextView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

<TextView android:layerType="software" ... />

<activity android:hardwareAccelerated="false" ... />

没有任何效果。

有没有办法让它工作?

4

1 回答 1

3

这是一个 android 问题200sp 大小的表情符号问题 目前无法修复,如果您有表情符号,请不要将大小设置为超过 199TextView

于 2016-05-16T13:50:14.273 回答