7

我的应用程序中的自定义字体有问题。有时有效,有时无效。

我有带有片段的 ViewPager。在片段 2 中,我有带有以编程方式添加的 TextView 的 LinearLayout。多次添加相同的 TextView 布局。在第一个 TextView 上一切正常,但在其他上它有变音符号的问题。

在此处输入图像描述

对于自定义字体,我使用Calligraphy,但我也尝试使用 Support Library 26 中的字体系列,结果相同。TextViews 应该使用默认字体,但是当我更改字体样式或以编程方式设置字体时,我最终会得到相同的结果。

该问题仅在 Android 7 上出现(在 Nexus 5X、Huawei P10 Lite 上测试)。在三星 Galaxy S4、华为 Mate 10 pro 上 - 一切正常。

4

2 回答 2

1

我找到了解决方案。问题在于文本本身,而不是观点。确切的原因是字符编码。这个变音符号没有正确编码。但是,仅在一个 Android 版本上出现问题仍然很奇怪。iOS上也使用了相同的文本,一切都很好。

于 2018-05-30T14:23:04.753 回答
0

我有一个类似的问题,但斜体字体。它不适合空间,最后一个和第一个项目被切断了。我不得不覆盖onMeasure并添加一些空间。我会这样做:

    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec)
    val tenPercentHeight = measuredHeight * 0.1f
    val adjustedHeight = measuredHeight + tenPercentHeight.toInt()

    setMeasuredDimension(adjustedHeight, measuredHeight)
    requestLayout()
}
于 2018-05-22T07:35:47.780 回答