我试图在 TextView 中显示单个 Unicode 字符(表情符号),文本大小较大:
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);
然后出现 Emoji 字符。它不像全屏或其他任何东西,在这种文本大小下,屏幕上有足够的空间容纳大约 6 个表情符号字符。
我正在 LG Nexus 5 手机上运行测试,分辨率为 1080 x 1920,运行 Android 5.1.1。我正在使用 minSdkVersion 11 和 targetSdkVersion 23
我尝试了在 StackOverflow 和其他地方找到的许多解决方法:
mEmojiTextView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
<TextView android:layerType="software" ... />
<activity android:hardwareAccelerated="false" ... />
没有任何作用。
有什么方法可以让它发挥作用吗?
最佳答案
这是一个安卓问题 Issue with emoji with 200sp size
目前无法修复它,如果 TextView
关于android - 无法在带有大文本 : "Font size too large to fit in cache" 的 Android TextView 中显示 Unicode 字符(表情符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298218/