gpt4 book ai didi

android - 获取 TextView 的字符宽度

转载 作者:太空狗 更新时间:2023-10-29 15:33:47 25 4
gpt4 key购买 nike

我认为这是相反的 Set width of TextView in terms of characters

我有一个 TextView,其中显示了一些报告数据。我对它的一部分使用等宽 TypefaceSpan,因为我希望列对齐。

我使用我的测试 Android 设备来计算我可以容纳多少列,但 Android 模拟器似乎只少了一列,这使得纵向模式下的东西以一种丑陋的方式包裹起来。

有没有办法找出一行应该容纳多少个字符?

最佳答案

答案是使用 textView 的 Paint 对象的 breakText()。这是一个示例,

int totalCharstoFit= textView.getPaint().breakText(fullString,  0, fullString.length(), 
true, textView.getWidth(), null);

现在 totalCharstoFit 包含可以适合一行的确切字符。现在您可以创建完整字符串的子字符串并将其附加到 TextView,如下所示,

String subString=fullString.substring(0,totalCharstoFit);
textView.append(substring);

要计算剩余的字符串,你可以这样做,

fullString=fullString.substring(subString.length(),fullString.length());

现在是完整代码,

在 while 循环中执行此操作,

while(fullstirng.length>0)
{
int totalCharstoFit= textView.getPaint().breakText(fullString, 0, fullString.length(),
true, textView.getWidth(), null);
String subString=fullString.substring(0,totalCharstoFit);
textView.append(substring);
fullString=fullString.substring(subString.length(),fullString.length());

}

关于android - 获取 TextView 的字符宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11497241/

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