首页 文章

自定义字体与变音符号 - Android 7上相同标志上的不同字体

提问于
浏览
7

我的应用程序中的自定义字体有问题 . 有时它有效,有时不行 .

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

enter image description here

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

问题仅发生在Android 7上(在Nexus 5X上测试,华为P10 Lite) . 在三星Galaxy S4上,华为Mate 10专业版 - 一切正常 .

2 回答

  • 1

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

  • 0

    我有一个类似的问题,但使用Italic字体 . 它不适合空间,最后一个项目被切断了 . 我不得不重写 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()
    }
    

相关问题