带有以下模糊表情符号和符号的StaticLayout

时间:2018-09-03 11:18:32

标签: android android-canvas emoji staticlayout

我正在开发一个Android应用,该应用创建的pdf包含用户键入的图像和文本。 pdf是使用PdfDocument lib创建的。

当标题字符串包含表情符号时,应用程序将正确显示内容。

内容在设备上正确显示:

enter image description here

但是一旦在pdf画布上绘制,表情符号就会变得模糊,并且似乎其中一些在其下方包含一个符号:

草莓和樱桃下面有奇怪的白色符号:

enter image description here

我的代码:

                CharSequence emoji_title = EmojiCompat.get().process(title);

            StaticLayout.Builder builder = StaticLayout.Builder.obtain(emoji_title, 0, emoji_title.length(), titleTextPaint, TITLE_RECT_WIDTH)
                    .setAlignment(Layout.Alignment.ALIGN_NORMAL)
                    .setBreakStrategy(Layout.BREAK_STRATEGY_HIGH_QUALITY)
                    .setLineSpacing(0, 1f)
                    .setIncludePad(false);
            StaticLayout textLayout = builder.build();


            float x = TITLE_LEFT_MARGIN;
            float y = TITLE_TOP_MARGIN + (TITLE_RECT_HEIGHT - textLayout.getHeight()) / 2;
            canvas.save();
            canvas.translate(x, y);
            textLayout.draw(canvas);
            canvas.restore();

我该怎么办,检测表情符号unicode并替换它们不是一个非常实用的解决方案。

0 个答案:

没有答案