gpt4 book ai didi

Android:如何根据可用空间设置文本

转载 作者:太空狗 更新时间:2023-10-29 13:14:06 25 4
gpt4 key购买 nike

我希望能够根据可用空间在 TextView 中设置文本,以避免省略。

例如:

  • 如果有足够的空间设置文本“The red fox jumps”

  • 如果没有足够的空间(因此“The red fox jumps”将被省略)设置文本“jumps”

请问我该如何实现?

最佳答案

你可以使用 Paint.measureText(String)用 Paint 对象绘制时,确定整个字符串的宽度。如果该值大于 TextView 的宽度,那么我们知道文本将被省略。

float totalLength = myPaint.measureText("The red fox jumps");
float tvWidth = myTextView.getWidth(); // get current width of TextView

if (tvWidth < totalLength) {
// TextView will display text with an ellipsis
}

一旦我们知道文本将被截断,我们就可以通过反复试验来确定可以在屏幕上显示的最小文本是多少。此步骤将取决于您的业务逻辑,但应使用与第一步相同的 Paint 计算。

calculateStringWidth("The red fox jumps"); // too large
calculateStringWidth("red fox jumps"); // still too large
calculateStringWidth("fox jumps"); // width is less than TextView, will fit without ellipsis

关于Android:如何根据可用空间设置文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36663259/

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