我的应用中的自定义字体有问题。有时候它有效,有时候不行。
我有ViewPager和片段。在片段2中,我使用LinearLayout以编程方式添加了TextViews。相同的TextView布局添加了很多次。在第一个TextView上一切正常,但在其他方面,它有变音符号的问题。
对于自定义字体,我使用Calligraphy,但我也尝试使用支持库26中的字体系列,结果相同。 TextViews应该使用默认字体,但是当我以样式方式更改字体或以编程方式设置字体时,我最终会得到相同的结果。
问题仅发生在Android 7上(在Nexus 5X上测试,华为P10 Lite)。 在三星Galaxy S4上,华为Mate 10 pro - 一切正常。
答案 0 :(得分:1)
我找到了解决方案。问题在于文本本身,而不是视图。确切原因是字符编码。这种变音符号没有适当的编码。然而,仅在一个Android版本上出现问题仍然很奇怪。在iOS上也使用了相同的文字,一切都很好。
答案 1 :(得分: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()
}