gpt4 book ai didi

Android Monospace 字体不是固定宽度的

转载 作者:行者123 更新时间:2023-11-30 03:33:20 25 4
gpt4 key购买 nike

我正在为计时器编写一个自定义 View ,但我无法为中间的数字获得适当的固定宽度字体。这是相关代码(来自两种不同的方法):

mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
mTextPaint.setTypeface(Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL));

// Get rectangle that is the size of the text
mTextPaint.getTextBounds(
getTimeText(),
0,
getTimeText().length(),
mTextBounds);

// X and Y coordinates of text
float mTextPosX = (width / 2) - (mTextBounds.width() / 2);
float mTextPosY = (height / 2) + (mTextBounds.height() / 2);

// Draw text
canvas.drawText(
getTimeText(),
mTextPosX,
mTextPosY,
mTextPaint);

这似乎工作正常,但每当其中一个数字变为 1 时,该 1 占用的空间就会减少,并且整个文本 block 都会移动一点。这显然不应该发生,因为我使用的是等宽字体。任何人都可以阐明我如何解决这个问题吗?

最佳答案

我遇到了同样的问题。修复它的一种方法是使用外部字体,其中“1”的行为符合预期。一个有很多字体可供尝试的网站是这个网站:http://www.fontcubes.com/ .关于如何在 Android 中使用外部字体的相关讨论在这里:How to change fontFamily of TextView in Android .

关于Android Monospace 字体不是固定宽度的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17042721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com