gpt4 book ai didi

Android 多行 TextView,检查文本是否适合,或者检查 TextView 是否已满

转载 作者:可可西里 更新时间:2023-11-01 19:01:09 25 4
gpt4 key购买 nike

我有一个包含多行 TextView 的 Android 应用程序布局。当屏幕处于纵向时,TextView 可以显示与在横向模式下运行时不同长度的文本。此外,当在小屏幕上运行时,TextView 可以显示与在大屏幕上运行时不同长度的文本。

有什么方法可以检查文本是否适合或是否会被截断?或者有什么方法可以检查 TextView 是否已满?

问题是 TextView 可能包含不同数量的行,具体取决于它是横向、纵向、小屏幕、大屏幕等。

谢谢你的建议,

最好的问候,

詹姆斯

最佳答案

这些答案对我来说不是很好。这是我最终做的事情

Paint measurePaint = new Paint(myTextView.getPaint());
float pWidth = measurePaint.measureText("This is my big long line of text. Will it fit in here?");
float labelWidth = myTextView.getWidth();
int maxLines = myTextView.getMaxLines();

while (labelWidth > 0 && pWidth/maxLines > labelWidth-20) {
float textSize = measurePaint.getTextSize();
measurePaint.setTextSize(textSize-1);
pWidth = measurePaint.measureText("This is my big long line of text. Will it fit in here?");
if (textSize < TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_SP, 7,
getContext().getResources().getDisplayMetrics())) break;
}

myTextView.setTextSize(TypedValue.COMPLEX_UNIT_PX, measurePaint.getTextSize());

我并不是说这适用于所有情况,因为我肯定会在这里偷工减料,但总体思路是使用 TextView 的绘制来测量文本并不断缩小它,直到它适合 TextView 。

关于Android 多行 TextView,检查文本是否适合,或者检查 TextView 是否已满,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18087716/

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