Пользовательский шрифт с диакритическим знаком - другой шрифт с одинаковыми знаками на Android 7 - PullRequest
0 голосов
/ 18 мая 2018

У меня проблема с пользовательским шрифтом в моем приложении.Иногда это работает, иногда нет.

У меня есть ViewPager с фрагментами.Во фрагменте 2 у меня есть LinearLayout с программно добавленными TextViews.Один и тот же макет TextView добавлен много раз.В первом TextView все работает нормально, но в других есть проблемы с диакритическими знаками.

enter image description here

Для пользовательских шрифтов я использую Каллиграфия , но я также попытался использовать семейство шрифтов из библиотеки поддержки 26 с тем же результатом.TextViews должен использовать шрифт по умолчанию, но опять же, когда я изменяю шрифт в стиле или устанавливаю гарнитуру программным способом, я получаю тот же результат.

Проблема возникает только на Android 7 (протестировано на Nexus 5X, Huawei P10 Lite).На Samsung Galaxy S4, Huawei Mate 10 pro - все отлично работает.

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Я нашел решение.Проблема была с самим текстом, а не с мнениями.Точной причиной была кодировка символов .Этот диакритический знак не был в правильном кодировании.Однако все еще странно, что проблема возникает только на одной версии Android.Тот же текст также использовался на iOS, и там все было хорошо.

0 голосов
/ 22 мая 2018

У меня была похожая проблема, но с курсивом.Это не соответствовало пространству, и последний и первый пункт был отрезан.Мне пришлось переопределить 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()
}
...