如何检查我的设备是否能够正确渲染Emoji图像?

how can I check if my device is capable to render Emoji images correctly?(如何检查我的设备是否能够正确渲染Emoji图像?)
本文介绍了如何检查我的设备是否能够正确渲染Emoji图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在视图中使用Emoji Unicode。在大多数设备上,图像看起来都不错,但在我的一台低端设备(安卓2.3)上,它们呈现为小方块。

我可以检查设备是否支持表情符号吗?这样我就可以发布我的APK,同时不会在某些设备上显示那些难看的方块。

推荐答案

这是一个较晚的答案,但我最近遇到了类似的问题。我需要过滤List<String>,并过滤掉无法在设备上呈现的表情符号(即,如果设备太旧并且不支持呈现它们)。

我最终做的是使用Paint测量文本宽度。

Paint mPaint = new Paint();
private boolean emojiRenderable(String emoji) {
    float width = mPaint.measureText(emoji);
    if (width > 7) return true;
    return false;
}
width > 7部分特别繁琐,我预计不可渲染的emoji的值应该是0.0,但在一些设备上,我发现该值实际上介于3.06.0之间,12.015.0之间。您的结果可能会有所不同,因此您可能想要测试一下。我认为字体大小也会影响measureText()的输出,因此请记住这一点。

总的来说,我不确定这是不是一个很好的解决方案,但这是迄今为止我想出的最好的解决方案。

这篇关于如何检查我的设备是否能够正确渲染Emoji图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Get an event when UIBarButtonItem menu is displayed(显示UIBarButtonItem菜单时获取事件)
iOS: Send multiple actions to a bar button(IOS:向一个栏按钮发送多个动作)